在提交表单之前对客户端的哈希密码进行哈希的简单方法 [英] Simple way to hash password client side right before submitting form

查看:53
本文介绍了在提交表单之前对客户端的哈希密码进行哈希的简单方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

没有任何通用的JS库,如何在发送密码之前对密码进行哈希处理?

Without any common JS libraries, how can I hash a password before sending it?

<form>
    <input type="password" id="pwd" name="password" />
    <input onclick="
var val = document.getElementById('pwd').value;
document.getElementById('pwd').value(sha512(val));"
     type="submit">
</form>

某种程度上,这将是我的幼稚方式(sha512是在某处定义的用于创建sha512值的函数)

That would somehow be my naive way to do it (with sha512 being a function defined somewhere to create the sha512 value)

尽管它显然似乎不起作用.为什么?我该如何正确而简单地做到这一点?

Though it obviously does not seem to work. Why? How do I do this right and simple?

推荐答案

我建议您使用jsSHA public sw并将其放在js之外:

I propose you to use jsSHA public sw and put outside your js:

function mySubmit(obj) {
  var pwdObj = document.getElementById('pwd');
  var hashObj = new jsSHA("SHA-512", "TEXT", {numRounds: 1});
  hashObj.update(pwdObj.value);
  var hash = hashObj.getHash("HEX");
  pwdObj.value = hash;
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jsSHA/2.0.2/sha.js"></script>

<form>
    <input type="password" id="pwd" name="password" />
    <input onclick="mySubmit(this)" type="submit">
</form>

这篇关于在提交表单之前对客户端的哈希密码进行哈希的简单方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆