我们有两个正在运行的服务器。旧的windows server 2008
和新的Ubuntu server 16.04.1
。我的任务是匹配数据库中的加密密码和用户的密码类型。在Windows server
上,我尝试运行source code
的加密密码,它可以正常工作,并且匹配。但是尝试在Ubuntu server
上运行会返回类似�����
的字符,因此我无法将两个密码都匹配。
我一直在寻找解决方案,这是在服务器配置上吗?我运行相同的代码,但服务器之间的输出不同。感谢您的帮助!
加密代码:
function fn_EncryptPassword() {
$arg = func_get_args();
foreach ($arg as $key => $args) {
$_retval = '';
$args=strtoupper(trim($args));
for ($i=1; $i<=strlen($args); $i++) {
$_retval.=chr(ord(substr($args,$i-1,1)) + 100);
}
}
return $_retval;
}
答案 0 :(得分:0)
function fn_EncryptPassword() {
$arg = func_get_args();
foreach ($arg as $key => $args) {
$_retval = '';
$args=strtoupper(trim($args));
for ($i=1; $i<=strlen($args); $i++) {
$_retval.=chr(ord(substr($args,$i-1,1)) + 100);
}
}
return utf8_encode($_retval);
}
echo fn_EncryptPassword('şçogby*/');
添加utf_encode函数