]> gitweb.factorcode.org Git - factor.git/blob - extra/crypto/xor/xor.factor
change ERROR: words from throw-foo back to foo.
[factor.git] / extra / crypto / xor / xor.factor
1 ! Copyright (C) 2008 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel math sequences fry ;
4 IN: crypto.xor
5
6 : mod-nth ( n seq -- elt ) [ length mod ] [ nth ] bi ;
7
8 ERROR: empty-xor-key ;
9
10 : xor-crypt ( seq key -- seq' )
11     [ empty-xor-key ] when-empty
12     [ dup length iota ] dip '[ _ mod-nth bitxor ] 2map ;