1-- 2-- crypt() and gen_salt(): extended des 3-- 4SELECT crypt('', '_J9..j2zz'); 5 crypt 6---------------------- 7 _J9..j2zzR/nIRDK3pPc 8(1 row) 9 10SELECT crypt('foox', '_J9..j2zz'); 11 crypt 12---------------------- 13 _J9..j2zzAYKMvO2BYRY 14(1 row) 15 16-- check XDES handling of keys longer than 8 chars 17SELECT crypt('longlongpassword', '_J9..j2zz'); 18 crypt 19---------------------- 20 _J9..j2zz4BeseiQNwUg 21(1 row) 22 23-- error, salt too short 24SELECT crypt('foox', '_J9..BWH'); 25ERROR: invalid salt 26-- error, count specified in the second argument is 0 27SELECT crypt('password', '_........'); 28ERROR: crypt(3) returned NULL 29-- error, count will wind up still being 0 due to invalid encoding 30-- of the count: only chars ``./0-9A-Za-z' are valid 31SELECT crypt('password', '_..!!!!!!'); 32ERROR: crypt(3) returned NULL 33-- count should be non-zero here, will work 34SELECT crypt('password', '_/!!!!!!!'); 35 crypt 36---------------------- 37 _/!!!!!!!zqM49hRzxko 38(1 row) 39 40CREATE TABLE ctest (data text, res text, salt text); 41INSERT INTO ctest VALUES ('password', '', ''); 42UPDATE ctest SET salt = gen_salt('xdes', 1001); 43UPDATE ctest SET res = crypt(data, salt); 44SELECT res = crypt(data, res) AS "worked" 45FROM ctest; 46 worked 47-------- 48 t 49(1 row) 50 51DROP TABLE ctest; 52