2017-09-04 127 views
0

问题: 编写一个名为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); 

,我遇到的问题:该文件没有打印任何东西 我只是想有什么我做错了的想法。我该如何解决这个问题。非常感谢你。

+2

查找范围中可能出现的错误的提示开发者控制台。另外 - 它看起来像你在你的函数之外执行'console.log()'。 –

+0

你永远不会打电话给你的功能。而且你正试图'console.log()'这个范围中不存在的值。 – David

回答

0

那么有可以改善的几件事情:

  1. 您尝试登录本地变量encryptPasscrypto()功能

  2. 外面在console.log()表达式,调用函数

  3. 的函数应该返回encryptPass变量

希望这有助于