From e8edf1395b25ee0dba11a00b666c06280aef440c Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 13 Jan 2026 11:24:11 +0100 Subject: add SM3 hash algos available in libxcrypt 4.5 --- tests/sm3yescrypt.phpt | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 tests/sm3yescrypt.phpt (limited to 'tests/sm3yescrypt.phpt') diff --git a/tests/sm3yescrypt.phpt b/tests/sm3yescrypt.phpt new file mode 100644 index 0000000..a0884d9 --- /dev/null +++ b/tests/sm3yescrypt.phpt @@ -0,0 +1,71 @@ +--TEST-- +Check sm3yescrypt algo +--EXTENSIONS-- +xpass +--SKIPIF-- + +--FILE-- + '$sm3y$j9T$FeOt/DFtz1Mm8/mtgIer2.$MtA20j5f5L.Jz8MM4KuKCFgPstmpnswmC2/9BEPwND.', + 'remicollet' => '$sm3y$j9T$ElHlNepC6e7htB1BgBbe4.$VXOJS4j0v49cNKDN/6i66F4nwvTCUT5GsPwqKEewSI/', +]; +foreach($data as $pass => $hash) { + echo "-- $pass\n"; + var_dump(password_verify($pass, $hash)); + var_dump(password_get_info($hash)); + var_dump(password_verify($pass."bad", $hash)); + var_dump(password_verify($pass, $hash."bad")); + var_dump(password_needs_rehash($hash, PASSWORD_SM3_YESCRYPT)); +} + +echo "-- no cost\n"; +$pass = 'secret'; +var_dump($hash = password_hash($pass, PASSWORD_SM3_YESCRYPT)); +var_dump(password_get_info($hash)); +var_dump(password_verify($pass, $hash)); +?> +--EXPECTF-- +-- mysecret +bool(true) +array(3) { + ["algo"]=> + string(4) "sm3y" + ["algoName"]=> + string(11) "sm3yescrypt" + ["options"]=> + array(0) { + } +} +bool(false) +bool(false) +bool(false) +-- remicollet +bool(true) +array(3) { + ["algo"]=> + string(4) "sm3y" + ["algoName"]=> + string(11) "sm3yescrypt" + ["options"]=> + array(0) { + } +} +bool(false) +bool(false) +bool(false) +-- no cost +string(76) "$sm3y$%s" +array(3) { + ["algo"]=> + string(4) "sm3y" + ["algoName"]=> + string(11) "sm3yescrypt" + ["options"]=> + array(0) { + } +} +bool(true) + -- cgit