我对 Javascript 和 PHP 中的字符串有疑问。目前,我有一个客户端脚本(显然是在 Javascript 中),它从 html 表单中获取字符串并将其打印出来。截至目前,我只是将它复制到 php 脚本中(显然是在服务器上)。后来,当我知道脚本工作时,我会让 javascript 自动将它发送到服务器,但现在我想确保我编写的代码是正确的。当我复制字符串时,我得到两个不同的 sha1 哈希。我怀疑有不同的空终止符或类似的东西,因为当我打印出来时,它们是相同数量的字符并且完全匹配(至少肉眼)。我想知道是否有人知道如何解决此问题以使其具有相同的哈希值。谢谢。处理 msg 的 Javascript 代码。javascript 从 html 文档中获取 msg。javascript sha1 哈希来自http://crypto-js.googlecode.com/files/2.5.3-crypto-sha1.js
var msg=document.input.msg.value;
digert = digest + Crypto.SHA1(msg);
digestBytes = Crypto.SHA1(msg, {asBytes: true});
digestString = Crypto.SHA1(msg, {asString: true});
处理 msg 的代码 php 代码。它从 html 表单中获取消息,然后将消息发布到 php 脚本。
//finds the starting point of the message
$start_MSG = stripos($_POST["message"], ' ')+1;
//stores the message in a global variable
$GLOBALS['msg'] = substr($_POST["message"], $start_MSG);
$temp_hash2 = sha1($_POST["message"], false);