gpt4 book ai didi

php - 将 password_hash 与 unicode 字符一起使用是否安全?

转载 作者:可可西里 更新时间:2023-11-01 12:20:01 24 4
gpt4 key购买 nike

password_hash 与以下 unicode 字符一起使用是否安全,或者存在不兼容问题?

<?php
$hash = password_hash("漢字", PASSWORD_DEFAULT);
?>

最佳答案

正如 Mark 评论的那样,哈希算法本身对字节起作用,因此它们是 unicode 安全的。唯一的问题可能是 PHP 对 unicode 字符串的处理,即密码散列函数 binary-safe ?让我们测试一下并找出答案:

<?php

$pass = 0;
$fail = 0;

# Generate 100 random unicode passwords
for ($i = 0; $i < 100; $i++) {
$password = '';
for ($p = 0; $p < 10; $p++) {
$password .= mt_rand(0xa1, 0xffff);
}

# Test password hashing
$hash = password_hash($password, PASSWORD_DEFAULT);
if (password_verify($password, $hash)) {
$pass++;
} else {
$fail++;
}
}

echo "Pass: $pass\nFail: $fail\n";

结果:

Pass: 100
Fail: 0

你的问题的答案是是的,它是安全的。

关于php - 将 password_hash 与 unicode 字符一起使用是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31511701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com