Lieber Herr Haueis, liebe Frau Buchner,

so, hatte etwas Zeit,  konnte BouncyCastle 169 hier zum Download finden:

<https://polydistortion.net/bc/>, konkret: <https://polydistortion.net/bc/download/bcprov-ext-jdk15on-169.jar>

Nach dem Herunterladen und Hinzufügen zu meinem CLASSPATH funktioniert das folgende Programm, das ich aus pädagogischen Gründen etwas abgeändert habe:

a = "Some test string"  -- some value to be digetsted
arr=BsfRawBytes(a)      -- turn into a Java byte array
say "digesting          :" pp(a)

 -- create a SHA256Digest object
sha256=.bsf~new("org.bouncycastle.crypto.digests.SHA256Digest")
sha256~update(arr, 0, length(a))

 -- create byte array to receive final digest
array1 = bsf.createJavaArray("byte.class", sha256~getDigestSize)
sha256~doFinal(array1, 0)

 -- turn Java byte array into a Rexx string
final=BsfRawBytes(array1)
say "sha256 digest (raw):" pp(final)      -- show raw digest
say "sha256 digest (hex):" pp(final~c2x)  -- show hexadecimal value

::requires "BSF.CLS"    -- load ooRexx-Java bridge

Die Ausgabe:

digesting          : [Some test string]
sha256 digest (raw): [╝ǧ_┼↨Ñ^°K ┴ⁿêyπoW║4ƒ0╔4ê⌐¼◄qâαÜ]
sha256 digest (hex): [BC80155FC517A55EF84B00C1FC8879E36F57BA349F30C93488A9AC117183E09A]

Hinweis für alle Seminarteilnehmer: probieren Sie es aus, mit BouncyCastle können Sie alle state-of-the-art Kryptografietechniken einfach in Ihren Rexxprogrammen einsetzen! :)

Mit freundlichem Gruß

Rony G. Flatscher

... cut ...
__________________________________________________________________________________

Prof. Dr. Rony G. Flatscher
Department Wirtschaftsinformatik und Operations Management
Institut für Wirtschaftsinformatik und Gesellschaft
D2c 2.086
WU Wien
Welthandelsplatz 1
A-1020  Wien/Vienna, Austria/Europe

http://www.wu.ac.at
__________________________________________________________________________________