21 lines
509 B
D
21 lines
509 B
D
import std.stdio, std.ascii;
|
|
|
|
void inplaceRot(char[] txt, in int key) pure nothrow {
|
|
foreach (ref c; txt) {
|
|
if (isLower(c))
|
|
c = (c - 'a' + key) % 26 + 'a';
|
|
else if (isUpper(c))
|
|
c = (c - 'A' + key) % 26 + 'A';
|
|
}
|
|
}
|
|
|
|
void main() {
|
|
enum key = 3;
|
|
auto txt = "The five boxing wizards jump quickly".dup;
|
|
writeln("Original: ", txt);
|
|
txt.inplaceRot(key);
|
|
writeln("Encrypted: ", txt);
|
|
txt.inplaceRot(26 - key);
|
|
writeln("Decrypted: ", txt);
|
|
}
|