diff options
| author | Remi Collet <remi@remirepo.net> | 2026-01-13 11:24:11 +0100 |
|---|---|---|
| committer | Remi Collet <remi@php.net> | 2026-01-13 11:24:11 +0100 |
| commit | e8edf1395b25ee0dba11a00b666c06280aef440c (patch) | |
| tree | 3f3bde322cddfd3bccf5be2217a0473618586ec9 /tests | |
| parent | a7d635afb702594870559d54453ea7b5dcaa760a (diff) | |
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/crypt_gensalt2.phpt | 15 | ||||
| -rw-r--r-- | tests/sm3crypt.phpt | 71 | ||||
| -rw-r--r-- | tests/sm3yescrypt.phpt | 71 |
3 files changed, 157 insertions, 0 deletions
diff --git a/tests/crypt_gensalt2.phpt b/tests/crypt_gensalt2.phpt new file mode 100644 index 0000000..864c614 --- /dev/null +++ b/tests/crypt_gensalt2.phpt @@ -0,0 +1,15 @@ +--TEST-- +Test crypt_gensalt +--SKIPIF-- +<?php +if (!defined("CRYPT_PREFIX_SM3CRYPT")) die("skip SM3CRYPT missing"); +?> +--FILE-- +<?php +var_dump(crypt_gensalt(CRYPT_PREFIX_SM3CRYPT)); +var_dump(crypt_gensalt(CRYPT_PREFIX_SM3_YESCRYPT)); + +?> +--EXPECTF-- +string(21) "$sm3$%s" +string(32) "$sm3y$%s" diff --git a/tests/sm3crypt.phpt b/tests/sm3crypt.phpt new file mode 100644 index 0000000..c398eed --- /dev/null +++ b/tests/sm3crypt.phpt @@ -0,0 +1,71 @@ +--TEST-- +Check sm3crypt algo +--EXTENSIONS-- +xpass +--SKIPIF-- +<?php +if (!defined("PASSWORD_SM3CRYPT")) die("skip SM3CRYPT missing"); +?> +--FILE-- +<?php +$data = [ + 'mysecret' => '$sm3$wjwOAHL3D6DzuOsN$QF8mPXc8WfTfOE1PsWw05FgUogEEWqE5jh/ZlhCFof.', + 'remicollet' => '$sm3$L/iCXvrL76KHTQBh$Jj0jcZoeFgH7wb3Tepl6yiVhL4Pm5Kd6GcInazUcOs.', +]; +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_SM3CRYPT)); +} + +echo "-- no cost\n"; +$pass = 'secret'; +var_dump($hash = password_hash($pass, PASSWORD_SM3CRYPT)); +var_dump(password_get_info($hash)); +var_dump(password_verify($pass, $hash)); +?> +--EXPECTF-- +-- mysecret +bool(true) +array(3) { + ["algo"]=> + string(3) "sm3" + ["algoName"]=> + string(8) "sm3crypt" + ["options"]=> + array(0) { + } +} +bool(false) +bool(false) +bool(true) +-- remicollet +bool(true) +array(3) { + ["algo"]=> + string(3) "sm3" + ["algoName"]=> + string(8) "sm3crypt" + ["options"]=> + array(0) { + } +} +bool(false) +bool(false) +bool(true) +-- no cost +string(65) "$sm3$%s" +array(3) { + ["algo"]=> + string(3) "sm3" + ["algoName"]=> + string(8) "sm3crypt" + ["options"]=> + array(0) { + } +} +bool(true) + 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-- +<?php +if (!defined("PASSWORD_SM3_YESCRYPT")) die("skip SM3_YESCRYPT missing"); +?> +--FILE-- +<?php +$data = [ + 'mysecret' => '$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) + |
