小编Jua*_*n94的帖子

MySQL SHA256和Java MessageDigest SHA-256不匹配

我一直在尝试加密一个项目的一些用户密码,但我似乎无法让它正常工作.我决定使用SHA-256算法,当我使用Sha2向MySQL引入密码时(例如,256)它为加密密码添加了两个零.在Java中,我使用来散列程序中的文本,但无法获得相同的结果.

    try {
        MessageDigest digest = MessageDigest.getInstance("SHA-256");
        byte[] hash = digest.digest("ContrasenhaPassword".getBytes("UTF-8"));

        StringBuilder hexString = new StringBuilder();
        for (int i: hash) {
            hexString.append(Integer.toHexString(0XFF & i));
        }
        String Hashed = new String(hexString);
        System.out.println(hexString);
        System.out.println(Hashed);
        // Below, MySQL Output for SHA2('ContrasenhaPassword',256)
        System.out.println("d17bf0da90f56b8fc627bac6523ffd284aa0d82c870e1a0428274de048f49d78");
        System.out.println(Hashed.equals(hexString));
        } catch (Exception e) {
        e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

        d17bf0da90f56b8fc627bac6523ffd284aa0d82c87e1a428274de048f49d78
        d17bf0da90f56b8fc627bac6523ffd284aa0d82c87e1a428274de048f49d78
        d17bf0da90f56b8fc627bac6523ffd284aa0d82c870e1a0428274de048f49d78
        false 
        BUILD SUCCESSFUL (total time: 0 seconds)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java mysql encryption comparison sha256

3
推荐指数
1
解决办法
2153
查看次数

Javascript不会持久地改变html背景颜色

每一个人.我希望你能在这里帮助我,我试图通过点击按钮来改变我的文档正文部分的颜色.

有三个按钮,每个按钮设置一个背景颜色.问题是:当我点击其中一个时,它会将背景颜色改变一秒钟,然后它会返回到原来设置的颜色,这是我的代码示例:

<html>
<head>
  <script type="text/javascript">
    function colorish(my_color){
      if (my_color === 'gray'){
        document.body.style.background = '#CCCCCC';
      }else if (my_color === 'orange'){
        document.body.style.background = '#FF9900';
      }else if (my_color === 'blue'){
        document.body.style.background = '#C1DAD6';
      } else {
        alert('on else');
      }
    }
  </script>
</head>

<body style="background: orange;">
  <form>
    <button name="back_color" onclick="colorish('gray')">Gy</button>
    <button name="back_color" onclick="colorish('orange')">Oe</button>
    <button name="back_color" onclick="colorish('blue')">Be</button>
  </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

该脚本位于我的环境中的单独文件中,但它完全相同.

如果在脚本中我包括:

onload = selector();

function selector(){
  var buttons = document.getElementsByName('back_color');

  buttons[0].onclick = colorish('gray');
  buttons[1].onclick = colorish('orange');
  buttons[2].onclick = colorish('blue');
}
Run Code Online (Sandbox Code Playgroud)

它只输入每个按钮[].on ...赋值并将背景设置保留为最后一个赋值,在这种情况下为蓝色.

我不是专家,所以也许我对js的html缺少一些东西.

html javascript css

2
推荐指数
1
解决办法
139
查看次数

标签 统计

comparison ×1

css ×1

encryption ×1

html ×1

java ×1

javascript ×1

mysql ×1

sha256 ×1