Jump to content

Substitution cipher: Difference between revisions

Added Sidef
m (added a ;Task: ;Related tasks: and ;See also: section headers, added whitespace to the task's preamble, added whitespace before the table-of-contents (TOC).)
(Added Sidef)
Line 1,269:
Encoded : SIAA ZQ LKBA. VA ZOA RFPBLUAOAR!
Decoded : flee at once. we are discovered!
</pre>
 
=={{header|Sidef}}==
{{trans|Julia}}
<lang ruby>module SubstitutionCipher {
 
const key = %c"]kYV}(!7P$n5_0i R:?jOWtF/=-pe'AD&@r6%ZXs\"v*N[#wSl9zq2^+g;LoB`aGh{3.HIu4fbK)mU8|dMET><,Qc\\C1yxJ"
 
func encode(String s) {
var r = ""
s.each {|c|
r += key[c.ord - 32]
}
return r
}
 
func decode(String s) {
var r = ""
s.each {|c|
r += (key.first_index { _ == c } + 32 -> chr)
}
return r
}
}
 
 
with ("The quick brown fox jumps over the lazy dog, who barks VERY loudly!") { |s|
var enc = SubstitutionCipher::encode(s)
var dec = SubstitutionCipher::decode(enc)
say("Original: ", s, "\n -> Encoded: ", enc, "\n -> Decoded: ", dec)
}</lang>
{{out}}
<pre>
Original: The quick brown fox jumps over the lazy dog, who barks VERY loudly!
-> Encoded: 2bu]E,KHm].Tdc|]4d\]),8M>]dQuT]<bu]U31C]Idf_]cbd].3Tm>]+ZzL]Ud,IUCk
-> Decoded: The quick brown fox jumps over the lazy dog, who barks VERY loudly!
</pre>
 
2,747

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.