我的服务器需要加密方法。所以,我决定使用Javascript和PHP创建一个。 现在,你可能会说我在浪费时间,但请尊重我并告诉我为什么javascript编码器处理的第一个字符会返回一个未定义的错误。 这是我的javascript代码。
function encryptText() {
var user = document.getElementById("username").value;
var password = document.getElementById("password").value;
var encryptionkey = 589;
// In the code, PHP generates an integer between 1 and 65536 to encode
var userencrypted;
var passencrypted;
var i;
var x;
var code;
for (x = 0; x < user.length; x++) {
code = user.charCodeAt(x);
code = code * encryptionkey;
if(userencrypted === null) {
userencrypted = code;
}
else {
userencrypted = userencrypted + "." + code;
}
}
var code2;
for (i = 0; i < password.length; i++) {
code2 = password.charCodeAt(i);
code2 = code2 * encryptionkey;
if(auth358encrypted === null) {
passencrypted = code2;
}
else {
passencrypted = passencrypted + "." + code2;
}
}
// for tesing purposes, the encrypted values are written in a paragraph on
// the main page
document.getElementById("2").innerHTML = passencrypted;
document.getElementById("1").innerHTML = auth749encrypted;
};
我运行该功能时遇到的唯一问题(在Chrome 40中)是第一个字符未编码并显示为“未定义”。请提出问题,谢谢。
答案 0 :(得分:2)
它是未定义的,因为在JavaScript中默认情况下未指定的变量是未定义的,因此您使用===运算符来检查null,因此您的变量名为userencrypted未定义,因此它将转到else部分,因此未定义。