【问题标题】:Javascript password - check first letter onlyJavascript 密码 - 仅检查第一个字母
【发布时间】:2014-02-17 09:00:39
【问题描述】:

我需要一个登录名,它只检查密码的第一个字母并忽略密码后面的任何内容。 这是我从上一个脚本中获得的标准登录代码。我知道它对于网络解决方案非常不安全:

var unArray = ["ExampleTom"];   //User
var pwArray = ["7******];"]     //Password
for (var i=0; i <unArray.length; i++) {
if ((un == unArray[i]) && (pw == pwArray[i])) {
    valid = true;

这个想法是用户应该输入他想要的任何数字作为密码,但如果它以 7 开头,他就成功了('7***' 只是为了说明我的主意)。

【问题讨论】:

  • 为什么密码是这样保存的:var pwArray = ["7******];"]?
  • var unArray = "ExampleTom";var pwArray = "7******"; 这能解决问题吗?

标签: javascript passwords any


【解决方案1】:

我不知道你为什么会这样做,但它是:

var unArray = ["ExampleTom"];   //User
var pwArray = ["7******];"]     //Password

valid = false

for (var i=0; i <unArray.length; i++) {
  if ((pwArray[i]. charAt(0) === pw.charAt(0)) && (un == unArray[i])) {
     valid = true;
  }
}

【讨论】:

    【解决方案2】:

    如果我正确地理解了你的想法,下面的代码应该可以帮助你:

    var unArray = ["ExampleTom"];   //User
    var pwArray = ["7******];"]     //Password
    if ((un == unArray) && (pw[0] == pwArray[0])) {
        valid = true;
    }
    

    【讨论】:

      【解决方案3】:

      如果你有密码输入字符串,你可以简单地检查第一个字符是否是七个,像这样:

      var pw = "74534SomePassword";
      pw[0] == 7; // true
      
      var pw = "foo74534SomePassword";
      pw[0] == 7; // false
      

      由于某种原因,您的密码似乎存储在一个数组中,您必须使用:

      pwArray[i][0]
      

      检查["7******];"] 中的字符串是否真的以七开头。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-18
        • 1970-01-01
        • 2011-06-20
        • 1970-01-01
        • 2011-04-15
        相关资源
        最近更新 更多