I-Studie z/OS und REXX und jetzt haben Code, der öffentliche und private Schlüssel von MY.DATA.SET (öffentlich, privat) nimmt und verschlüsselt die Nachricht (MSG):Verschlüsselung/Entschlüsselung von REXX
"ALLOC FI(pubkey) DA('MY.DATA.SET(PUBLIC)') SHR REUSE"
"ALLOC FI(prikey) DA('MY.DATA.SET(PRIVATE)') SHR REUSE"
"ALLOC FI(msgin) DA(‘MY.DATA.SET(MSG)') SHR REUSE"
"ALLOC FI(msgout) DA(*) SHR REUSE"
"EXECIO 1 DISKR pubkey (STEM pub. FINIS"
"EXECIO 1 DISKR prikey (STEM pri. FINIS"
"EXECIO * DISKR msgin (STEM msg. FINIS"
"EXECIO 0 DISKW msgout (STEM enc_msg. OPEN"
enc_msg.1 = pub.1
"EXECIO 1 DISKW msgout (STEM enc_msg. "
do i=1 to msg.0
do j=1 to length(msg.i)
letter.j = substr(msg.i,j,1)
encrypt.j = translate(letter.j,pri.1,pub.1)
end
call write_encrypted_line
end
"EXECIO 0 DISKW msgout (FINIS"
"FREE FI(pubkey)"
"FREE FI(prikey)"
"FREE FI(msgin)"
"FREE FI(msgout)"
exit 0
write_encrypted_line:
charout = ''
newchar = ''
do j=1 to length(msg.i)
newchar = encrypt.j
charout = charout||newchar
end
enc_msg.1 = charout
"EXECIO 1 DISKW msgout (STEM enc_msg. "
return
Und ich möchte es auf DEsrypting-Code übertragen, die das verschlüsselte Ergebnis von oben verschlüsseln kann (das Ergebnis wird mit dem Namen MSGEN gespeichert), um normalen Text zu verwenden, natürlich mit dem gleichen Schlüsselpaar. Bitte, Hilfe: Was sollte ich in meinem Encode-Code ändern, um es entschlüsseln zu lassen? Die Linie
"ALLOC FI(msgin) DA(‘MY.DATA.SET(MSGEN)') SHR REUSE"
bereits geändert (MSG-> msgen)
Vielen Dank für jede alle Hilfe und Antwort!
Das scheint eine Hausaufgabe zu sein, ja? Und was hast du bisher versucht, damit es funktioniert? –
Keine Hausaufgaben, sondern eine Aufgabe. Ich habe gelesen über "AES Clear Key - Generieren, Schreiben in CKDS, Verschlüsseln und Entschlüsseln", "AES Secure Key - Generieren, Schreiben in CKDS, Verschlüsseln und Entschlüsseln" und eine Menge über REXX, aber nirgendwo kann ein solches Beispiel finden. – iceloki
Ich denke, zuerst muss ich String löschen enc_msg.1 = pub.1, schreibe ich? Dann, um alle "en" auf "de" zu ändern (wie: write_decrypted_line, dec_msg, usw.) und dann denke ich, dass es notwendig ist, den Block DO-END zu ändern. Ich habe verschiedene Dinge versucht, wie "encrypt.j = substr (msg.i, j, 1) decrypt.j = übersetzen (encrypt.j, pri.1, pub.1)" – iceloki