使用场景:网页中登录窗口提交密码传输、APP或小程序的API密码传输

本例以网页登录窗口登录为例,默认情况下的登录代码是:

<div class="form-group">
    <div class="input-icon">
        <i class="fa fa-user"></i>
        <input class="form-control placeholder-no-fix" type="text" autocomplete="off" placeholder="账号/邮箱/手机" name="data[username]">
    </div>
</div>
<div class="form-group">
    <div class="input-icon">
        <i class="fa fa-lock"></i>
        <input class="form-control placeholder-no-fix" type="password" autocomplete="off" placeholder="登录密码" name="data[password]">
    </div>
</div>

<div class="form-actions">
    <button type="button" onclick="dr_ajax_member('{dr_now_url()}', 'myform');" class="btn green pull-right"> 登录 </button>
</div>

其中password字段是明文的,在提交请求的post记录中可以看到明文的密码字符串,那么如何进行加密这个密码呢


加密原理:

只需要将password字符串进行32位md5加密就行了,加密后传输32位值


实现方法:

1、引入jquery.md5的js文件

<script src="{THEME_PATH}assets/global/plugins/jquery.md5.js" type="text/javascript"></script>


2、执行代码:

<div class="form-group">
    <div class="input-icon">
        <i class="fa fa-user"></i>
        <input class="form-control placeholder-no-fix" type="text" autocomplete="off" placeholder="账号/邮箱/手机" name="data[username]">
    </div>
</div>
<div class="form-group">
    <div class="input-icon">
        <i class="fa fa-lock"></i>
        <input class="form-control placeholder-no-fix" type="password" autocomplete="off" placeholder="登录密码" id="mypassword">
        <input type="hidden" placeholder="md5加密后的密码" name="data[password]" id="password">
    </div>
</div>

<div class="form-actions">
    <button type="button" onclick="dr_login_new()" class="btn green pull-right"> 登录 </button>
</div>
<script>
function dr_login_new() {

    // 这里进行md5加密存储
    var pwd = $('#mypassword').val();
    pwd = $.md5(pwd); // 进行md5加密
    $('#password').val(pwd);
    dr_ajax_member('{dr_member_url('login/index')}', 'myform');
}

</script>


文档最后更新时间:2021-05-24 17:31:55
我来修改此文档(1) 不会操作怎么办?