aboutsummaryrefslogtreecommitdiff
path: root/cipher.sts
diff options
context:
space:
mode:
Diffstat (limited to 'cipher.sts')
-rw-r--r--cipher.sts14
1 files changed, 14 insertions, 0 deletions
diff --git a/cipher.sts b/cipher.sts
new file mode 100644
index 0000000..0f20470
--- /dev/null
+++ b/cipher.sts
@@ -0,0 +1,14 @@
+; cipher is password string (pointer to start and length) and position in it
+
+defword ciphernew
+ 0
+exit
+
+defword cipher ; ... passwd plen ppos key
+ 3 get 2 get + @ xor ; key = key ^ passwd[ppos]
+ over 1 + 3 get mod 2 set ; ppos = (ppos + 1) % plen
+exit
+
+defword cipherdel
+ drop drop drop
+exit