The ISAAC cipher: Difference between revisions

Content added Content deleted
m (→‎{{header|Common Lisp}}: Removed some misleading information in comments)
m (→‎{{header|Sidef}}: modified the code to work with Sidef 2.30)
Line 3,263: Line 3,263:


func xor_isaac(key, msg) {
func xor_isaac(key, msg) {
var rng = %s'Math::Random::ISAAC'.new(unpack('C*', key));
var rng = %s<Math::Random::ISAAC>.new(unpack('C*', key));


msg.chars»ord»()
msg.chars»ord»() \
-> »^« 256.of{ rng.irand % 95 + 32 }.last(msg.len).reverse
-> »^« 256.of{ rng.irand % 95 + 32 }.last(msg.len).reverse \
-> «%« '%02X' -> join;
-> «%« '%02X' -> join;
}
}