The ISAAC cipher: Difference between revisions
m
→{{header|Sidef}}: updated code
(added FreeBASIC) |
m (→{{header|Sidef}}: updated code) |
||
Line 3,507:
=={{header|Sidef}}==
{{trans|Perl}}
<lang ruby>require('Math::Random::ISAAC')
func xor_isaac(key, msg) {
var rng = %
msg.chars»ord
-> »^« 256.of{ rng.irand % 95 + 32 }.last(msg.len).
-> «%« '%02X' -> join
}
var msg = 'a Top Secret secret'
var key = 'this is my secret key'
var enc = xor_isaac(key, msg)
var dec = xor_isaac(key, pack('H*', enc))
say "Message: #{msg}"
say "Key : #{key}"
say "XOR : #{enc}"
say "XOR dcr: #{pack('H*', dec)}"
{{out}}
<pre>
|