Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
31
Task/Vigen-re-cipher/Mathematica/vigen-re-cipher.math
Normal file
31
Task/Vigen-re-cipher/Mathematica/vigen-re-cipher.math
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
encode[text_String, key_String] :=
|
||||
Module[{textCode, keyCode},
|
||||
textCode =
|
||||
Cases[ToCharacterCode[
|
||||
ToUpperCase@
|
||||
text], _?(IntervalMemberQ[Interval@{65, 90}, #] &)] - 65;
|
||||
keyCode =
|
||||
Cases[ToCharacterCode[
|
||||
ToUpperCase@
|
||||
key], _?(IntervalMemberQ[Interval@{65, 90}, #] &)] - 65;
|
||||
keyCode =
|
||||
If[Length[textCode] < Length[keyCode],
|
||||
keyCode[[;; Length@textCode]],
|
||||
PadRight[keyCode, Length@textCode, keyCode]];
|
||||
FromCharacterCode[Mod[textCode + keyCode, 26] + 65]]
|
||||
|
||||
decode[text_String, key_String] :=
|
||||
Module[{textCode, keyCode},
|
||||
textCode =
|
||||
Cases[ToCharacterCode[
|
||||
ToUpperCase@
|
||||
text], _?(IntervalMemberQ[Interval@{65, 90}, #] &)] - 65;
|
||||
keyCode =
|
||||
Cases[ToCharacterCode[
|
||||
ToUpperCase@
|
||||
key], _?(IntervalMemberQ[Interval@{65, 90}, #] &)] - 65;
|
||||
keyCode =
|
||||
If[Length[textCode] < Length[keyCode],
|
||||
keyCode[[;; Length@textCode]],
|
||||
PadRight[keyCode, Length@textCode, keyCode]];
|
||||
FromCharacterCode[Mod[textCode - keyCode, 26] + 65]]
|
||||
Loading…
Add table
Add a link
Reference in a new issue