javascript-对表单中的数据进行代码哈希处理的功能-已经具有功能,但是不知道在哪里调用

我的HTML页面中有表格

<form id="login_form" method="POST" action="index.php">
    <table>
        <tr>
            <td><label style="color:#47A3FF;" for="name" title="User name">
                Username</label></td>
            <td><input style="color:#47A3FF;" dojoType="dijit.form.TextBox"
                type="text" name="username"></td>
        </tr>
        <tr>
            <td><label style="color:#47A3FF;" for="loc">Password: </label></td>
            <td><input style="color:#47A3FF;" dojoType="dijit.form.TextBox"
                type="password" name="password"></td>
        </tr>
        <tr>
            <td colspan="2" align="center">
                <button dojoType="dijit.form.Button"  class="soria" style="border: 1px solid black; float:right;"
                type="submit">Login</button></td>
        </tr>
    </table>
</form>

通过网络发送用户名和密码时需要使用SHA256吗?如何在这些数据上使用SHA256(我有sha256_hash函数,该函数使用字符串并返回哈希值,但我不知道在哪里调用该函数)?

解决方法:

提交表单时,您应该哈希所需的值.

我猜这样的事情应该工作:

的HTML

<form onsubmit="return myOnSubmit(this);">

的JavaScript

function myOnSubmit(aForm) {
    //Getting the two input objects
    var inputUsername = aForm['username'];
    var inputPassword = aForm['password'];

    //Hashing the values before submitting
    inputUsername.value = sha256_hash(inputUsername.value);
    inputPassword.value = sha256_hash(inputPassword.value);

    //Submitting
    return true;
}

编辑:
由于具有“在提交之前先哈希值”部分,因此如果您具有maxlength属性,它将不起作用,因为哈希值比仅清除密码要长得多.

如果必须使用最大长度,则需要实现HIDDEN FIELDS并更改这些值,并确保未提交包含明文数据的字段(在< FORM>标记之外).

上一篇:Harbor 清理镜像(此方法比较粗暴,但是有效)


下一篇:java-使用UUID为特定字符串生成唯一标识符是否安全(就唯一性而言)?