mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
6a8eb1a7b6
* test error handling * add tests for des, 3des, cast5 * add some tests to blowfish, rijndael * Makefile: ability to specify different tests for different crypto libraries, so we can skip des, 3des and cast5 for builtin. Marko Kreen
74 lines
1.5 KiB
Plaintext
74 lines
1.5 KiB
Plaintext
--
|
|
-- Cast5 cipher
|
|
--
|
|
-- test vectors from RFC2144
|
|
-- 128 bit key
|
|
SELECT encode(encrypt(
|
|
decode('01 23 45 67 89 AB CD EF', 'hex'),
|
|
decode('01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A', 'hex'),
|
|
'cast5-ecb/pad:none'), 'hex');
|
|
encode
|
|
------------------
|
|
238b4fe5847e44b2
|
|
(1 row)
|
|
|
|
-- result: 23 8B 4F E5 84 7E 44 B2
|
|
-- 80 bit key
|
|
SELECT encode(encrypt(
|
|
decode('01 23 45 67 89 AB CD EF', 'hex'),
|
|
decode('01 23 45 67 12 34 56 78 23 45', 'hex'),
|
|
'cast5-ecb/pad:none'), 'hex');
|
|
encode
|
|
------------------
|
|
eb6a711a2c02271b
|
|
(1 row)
|
|
|
|
-- result: EB 6A 71 1A 2C 02 27 1B
|
|
-- 40 bit key
|
|
SELECT encode(encrypt(
|
|
decode('01 23 45 67 89 AB CD EF', 'hex'),
|
|
decode('01 23 45 67 12', 'hex'),
|
|
'cast5-ecb/pad:none'), 'hex');
|
|
encode
|
|
------------------
|
|
7ac816d16e9b302e
|
|
(1 row)
|
|
|
|
-- result: 7A C8 16 D1 6E 9B 30 2E
|
|
-- cbc
|
|
-- empty data
|
|
select encode( encrypt('', 'foo', 'cast5'), 'hex');
|
|
encode
|
|
------------------
|
|
a48bd1aabde4de10
|
|
(1 row)
|
|
|
|
-- 10 bytes key
|
|
select encode( encrypt('foo', '0123456789', 'cast5'), 'hex');
|
|
encode
|
|
------------------
|
|
b07f19255e60cb6d
|
|
(1 row)
|
|
|
|
-- decrypt
|
|
select decrypt(encrypt('foo', '0123456', 'cast5'), '0123456', 'cast5');
|
|
decrypt
|
|
---------
|
|
foo
|
|
(1 row)
|
|
|
|
-- iv
|
|
select encode(encrypt_iv('foo', '0123456', 'abcd', 'cast5'), 'hex');
|
|
encode
|
|
------------------
|
|
384a970695ce016a
|
|
(1 row)
|
|
|
|
select decrypt_iv(decode('384a970695ce016a', 'hex'),
|
|
'0123456', 'abcd', 'cast5');
|
|
decrypt_iv
|
|
------------
|
|
foo
|
|
(1 row)
|
|
|