使用Javascript加密密码
问题描述:
问题: 编写一个名为crypto.js的程序,用于加密包含大写/小写字符,数字和特殊字符的密码。使用Pizza2Day!为密码。 请参阅下面的示例执行:使用Javascript加密密码
该程序将加密用户密码。
密码:Pizza2Day!
加密...............
加密密码:Njaam2Fmc!
我的代码:
function crypto() {
var pass = "Pizza2Day!";
var flag = 0;
var encryptPass = "";
var originalValues = [
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
];
var encryptedValues = [
"m", "h","t","f","g","k","b","p","j","w","e","r","q","s","l","n","i","u","o","x","z","y","v","d","c","a"
];
for (var i = 0; i < pass.length; i++) {
flag = 0;
for (var j = 0; j < originalValues.length; j++) {
if (originalValues[j] == pass.charAt(i)) {
encryptPass = encryptPass + encryptedValues[j];
flag = 1;
break;
} else if (originalValues[j].toUpperCase() == pass.charAt(i)) {
encryptPass = encryptPass + encryptedValues[j].toUpperCase();
flag = 1;
break;
}
}
if (flag == 0) {
encryptPass = encryptPass + pass.charAt(i);
}
}
}
console.log("New Password: " + encryptPass);
,我遇到的问题:该文件没有打印任何东西 我只是想有什么我做错了的想法。我该如何解决这个问题。非常感谢你。
答
你不是在调用这个函数! 你应该有console.log调用加密函数。
console.log("New Password: " + crypto());
答
那么有可以改善的几件事情:
您尝试登录本地变量
encryptPass
的crypto()
功能外面在
console.log()
表达式,调用函数的函数应该返回
encryptPass
变量
希望这有助于
查找范围中可能出现的错误的提示开发者控制台。另外 - 它看起来像你在你的函数之外执行'console.log()'。 –
你永远不会打电话给你的功能。而且你正试图'console.log()'这个范围中不存在的值。 – David