summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/func_des_encrypt.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/func_des_encrypt.test')
-rw-r--r--mysql-test/main/func_des_encrypt.test75
1 files changed, 75 insertions, 0 deletions
diff --git a/mysql-test/main/func_des_encrypt.test b/mysql-test/main/func_des_encrypt.test
new file mode 100644
index 00000000..884fad54
--- /dev/null
+++ b/mysql-test/main/func_des_encrypt.test
@@ -0,0 +1,75 @@
+-- source include/have_des.inc
+#double warning for view protocol
+--source include/no_view_protocol.inc
+
+# This test can't be in func_encrypt.test, because it requires
+# --des-key-file to not be set.
+
+#
+# Bug #11643: des_encrypt() causes server to die
+#
+select des_encrypt('hello');
+
+# End of 4.1 tests
+
+--echo #
+--echo # Bug #11643: des_encrypt() causes server to die
+--echo #
+
+CREATE TABLE t1 (des VARBINARY(200) NOT NULL DEFAULT '') ENGINE=MyISAM;
+
+INSERT INTO t1 VALUES ('1234'), ('12345'), ('123456'), ('1234567');
+
+UPDATE t1 SET des=DES_ENCRYPT('1234');
+
+SELECT LENGTH(des) FROM t1;
+SELECT DES_DECRYPT(des) FROM t1;
+
+SELECT
+ LENGTH(DES_ENCRYPT('1234')),
+ LENGTH(DES_ENCRYPT('12345')),
+ LENGTH(DES_ENCRYPT('123456')),
+ LENGTH(DES_ENCRYPT('1234567'));
+SELECT
+ DES_DECRYPT(DES_ENCRYPT('1234')),
+ DES_DECRYPT(DES_ENCRYPT('12345')),
+ DES_DECRYPT(DES_ENCRYPT('123456')),
+ DES_DECRYPT(DES_ENCRYPT('1234567'));
+
+DROP TABLE t1;
+
+--Echo End of 5.0 tests
+
+--echo #
+--echo # MDEV-23330 Server crash or ASAN negative-size-param in
+--echo # my_strnncollsp_binary / SORT_FIELD_ATTR::compare_packed_varstrings
+--echo #
+
+CREATE TABLE t1 (a CHAR(240), b BIT(48));
+INSERT INTO t1 VALUES ('a',b'0001'),('b',b'0010'),('c',b'0011'),('d',b'0100'),('e',b'0001'),('f',b'0101'),('g',b'0110'),('h',b'0111'),('i',b'1000'),('j',b'1001');
+SELECT DES_DECRYPT(a, 'x'), HEX(BINARY b) FROM t1 GROUP BY 1, 2 WITH ROLLUP;
+DROP TABLE t1;
+
+#
+# don't change the charset of a literal Item_string
+#
+
+CREATE TABLE t1 (a INT);
+INSERT t1 VALUES (1),(2);
+SELECT CHAR_LENGTH(a), DES_DECRYPT(a) FROM (SELECT _utf8 0xC2A2 AS a FROM t1) AS t2;
+DROP TABLE t1;
+
+--echo #
+--echo # End of 10.5 tests
+--echo #
+
+--echo #
+--echo # MDEV-27104 deprecate DES_ENCRYPT/DECRYPT functions
+--echo #
+--echo # just show how to disable deprecation note
+set sql_notes=0;
+select hex(des_encrypt('a'));
+
+--echo #
+--echo # End of 10.10 tests
+--echo #