-- source include/have_des.inc --disable_warnings drop table if exists t1; --enable_warnings create table t1 (x blob); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','The quick red fox jumped over the lazy brown dog')); insert into t1 values (des_encrypt('a','The quick red fox jumped over the lazy brown dog')); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','a')); insert into t1 values (des_encrypt('ab','The quick red fox jumped over the lazy brown dog')); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','ab')); insert into t1 values (des_encrypt('abc','The quick red fox jumped over the lazy brown dog')); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','abc')); insert into t1 values (des_encrypt('abcd','The quick red fox jumped over the lazy brown dog')); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','abcd')); insert into t1 values (des_encrypt('abcde','The quick red fox jumped over the lazy brown dog')); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','abcde')); insert into t1 values (des_encrypt('abcdef','The quick red fox jumped over the lazy brown dog')); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','abcdef')); insert into t1 values (des_encrypt('abcdefg','The quick red fox jumped over the lazy brown dog')); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','abcdefg')); insert into t1 values (des_encrypt('abcdefgh','The quick red fox jumped over the lazy brown dog')); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','abcdefgh')); insert into t1 values (des_encrypt('abcdefghi','The quick red fox jumped over the lazy brown dog')); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','abcdefghi')); insert into t1 values (des_encrypt('abcdefghij','The quick red fox jumped over the lazy brown dog')); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','abcdefghij')); insert into t1 values (des_encrypt('abcdefghijk','The quick red fox jumped over the lazy brown dog')); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','abcdefghijk')); insert into t1 values (des_encrypt('The quick red fox jumped over the lazy brown dog','sabakala')); insert into t1 values (des_encrypt('quick red fox jumped over the lazy brown dog','sabakala')); insert into t1 values (des_encrypt('red fox jumped over the lazy brown dog','sabakala')); insert into t1 values (des_encrypt('fox jumped over the lazy brown dog','sabakala')); insert into t1 values (des_encrypt('jumped over the lazy brown dog','sabakala')); insert into t1 values (des_encrypt('over the lazy brown dog','sabakala')); insert into t1 values (des_encrypt('the lazy brown dog','sabakala')); insert into t1 values (des_encrypt('lazy brown dog','sabakala')); insert into t1 values (des_encrypt('brown dog','sabakala')); insert into t1 values (des_encrypt('dog','sabakala')); insert into t1 values (des_encrypt('dog!','sabakala')); insert into t1 values (des_encrypt('dog!!','sabakala')); insert into t1 values (des_encrypt('dog!!!','sabakala')); insert into t1 values (des_encrypt('dog!!!!','sabakala')); insert into t1 values (des_encrypt('dog!!!!!','sabakala')); insert into t1 values (des_encrypt('jumped over the lazy brown dog','sabakala')); insert into t1 values (des_encrypt('jumped over the lazy brown dog','sabakala')); select hex(x), hex(des_decrypt(x,'sabakala')) from t1; select des_decrypt(x,'sabakala') as s from t1 having s like '%dog%'; drop table t1; # # Test default keys # select hex(des_encrypt("hello")),des_decrypt(des_encrypt("hello")); select des_decrypt(des_encrypt("hello",4)); select des_decrypt(des_encrypt("hello",'test'),'test'); select hex(des_encrypt("hello")),hex(des_encrypt("hello",5)),hex(des_encrypt("hello",'default_password')); select des_decrypt(des_encrypt("hello"),'default_password'); select des_decrypt(des_encrypt("hello",4),'password4'); # Test use of invalid parameters select des_encrypt("hello",10); select des_encrypt(NULL); select des_encrypt(NULL, 10); select des_encrypt(NULL, NULL); select des_encrypt(10, NULL); select des_encrypt("hello", NULL); select des_decrypt("hello",10); select des_decrypt(NULL); select des_decrypt(NULL, 10); select des_decrypt(NULL, NULL); select des_decrypt(10, NULL); select des_decrypt("hello", NULL); # Test flush SET @a=des_decrypt(des_encrypt("hello")); flush des_key_file; select @a = des_decrypt(des_encrypt("hello")); # Test usage of wrong password select hex("hello"); select hex(des_decrypt(des_encrypt("hello",4),'password2')); select hex(des_decrypt(des_encrypt("hello","hidden"))); explain extended select des_decrypt(des_encrypt("hello",4),'password2'), des_decrypt(des_encrypt("hello","hidden")); # End of 4.1 tests # # Bug#44365 valgrind warnings with encrypt() function # --disable_warnings drop table if exists t1; --enable_warnings create table t1 (f1 smallint(6) default null, f2 mediumtext character set utf8) engine=myisam default charset=latin1; insert into t1 values (null,'contraction\'s'); insert into t1 values (-15818,'requirement\'s'); --disable_result_log select encrypt(f1,f2) as a from t1,(select encrypt(f1,f2) as b from t1) a; --enable_result_log drop table t1; --echo # --echo # Start of 10.1 tests --echo # --echo # --echo # MDEV-8369 Unexpected impossible WHERE for a condition on a ZEROFILL field --echo # CREATE TABLE t1 (a INT(6) ZEROFILL); INSERT INTO t1 VALUES (1),(2); # This should not propagate a=1 into DES_ENCRYPT EXPLAIN EXTENDED SELECT * FROM t1 WHERE a=1 AND DES_ENCRYPT('test',a)=_latin1 'abc' COLLATE latin1_bin; DROP TABLE t1; --echo # --echo # End of 10.1 tests --echo # --echo # --echo # Start of 10.2 tests --echo # --echo # --echo # MDEV-10134 Add full support for DEFAULT --echo # CREATE TABLE t1 ( a VARCHAR(30), b BLOB DEFAULT DES_ENCRYPT(a, 'passwd'), c TEXT DEFAULT DES_DECRYPT(b, 'passwd') ); SHOW CREATE TABLE t1; INSERT INTO t1 (a) VALUES ('test'); SELECT c FROM t1; DROP TABLE t1; --echo # --echo # End of 10.2 tests --echo #