Vigenère cipher: Difference between revisions

m
Added the Sidef language
m (Added the Sidef language)
Line 2,837:
Encrypted: WMCEEIKLGRPIFVMEUGXQPWQVIOIAVEYXUEKFKBTALVXTGAFXYEVKPAGY
Decrypted: BEWARETHEJABBERWOCKMYSONTHEJAWSTHATBITETHECLAWSTHATCATCH
</pre>
 
=={{header|Sidef}}==
{{trans|Perl 6}}
<lang ruby>func s2v(s) { s.uc.scan(/[A-Z]/)»ord»() »-» 65 };
func v2s(v) { (v »%» 26 »+» 65)»chr»().join };
 
func blacken (red, key) { v2s(s2v(red) »+« s2v(key)) };
func redden (blk, key) { v2s(s2v(blk) »-« s2v(key)) };
 
var red = "Beware the Jabberwock, my son! The jaws that bite, the claws that catch!";
var key = "Vigenere Cipher!!!";
 
say red;
say (var black = blacken(red, key));
say redden(black, key);</lang>
{{out}}
<pre>
Beware the Jabberwock, my son! The jaws that bite, the claws that catch!
WMCEEIKLGRPIFVMEUGXQPWQVIOIAVEYXUEKFKBTALVXTGAFXYEVKPAGY
BEWARETHEJABBERWOCKMYSONTHEJAWSTHATBITETHECLAWSTHATCATCH
</pre>
 
2,747

edits