Data update

This commit is contained in:
Ingy döt Net 2024-10-16 18:07:41 -07:00
parent 81fd053722
commit 52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions

View file

@ -0,0 +1,25 @@
; caesar.xom
global integer gi-k initial {13}
global stream gs-ed initial {'encode'}
global stream gs-phrase
define stream function apply-cipher (value stream phrase, value integer k, value stream ed) as
local integer b
local stream ciphered
open ciphered as buffer
repeat scan phrase
match letter => char
set b to char binary 0
increment b by k when ed = 'encode'
increment b by 26 - k when ed = 'decode'
decrement b by 26 when char matches uc and b > 90
decrement b by 26 when char matches lc and b > 122
put ciphered "b" % b
match any => char
put ciphered char
again
close ciphered
return ciphered
process
output apply-cipher(gs-phrase, gi-k, gs-ed) || '%n%n'

View file

@ -0,0 +1,20 @@
##
function encrypt(msg:string;k:integer):string;
begin
var big:=('A'..'Z').ToArray;
var ltl:=('a'..'z').ToArray;
foreach var c in msg do
case c of
'A'..'Z': result+=big[(big.IndexOf(c)+k) mod 26];
'a'..'z': result+=ltl[(ltl.IndexOf(c)+k) mod 26];
else result+=c;
end;
end;
function decrypt(msg:string;k:integer):=encrypt(msg, 26-k);
var (key, message):=(3,'The five boxing wizards jump quickly');
Println('Original:',message);
message:=encrypt(message, 3);
Println('Encrypted:',message);
message:=decrypt(message, 3);
Println('Decrypted:',message);