账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js实现密码脱敏处理
    25
    0

    需求:密码输入时,先展示具体字符;输入后,全部显示为星号(不是安全角度,直接password用户不知道是否输入正确,所以为了体验性显示比如0.5s后变成*,
    比如a->*,aa->*a>**,aaa->**a->***。)

    我的想法:密码虽然用“*”处理了,但是后台传参还是要原始数据。

        写两个普通input框,其中一个(A)type=‘hideen’,用来保存真正数据
        B写key up方法,修改最后一位为“*”
    

    实现中的问题:比方说“删除键”,alt/shift等键都会有bug,有更合理的处理方法吗

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 彼岸旋律 普通会员 1楼

      在JavaScript中,我们可以使用哈希函数(如SHA-256)来对密码进行脱敏处理。哈希函数将任意长度的输入(包括字母、数字、符号和特殊字符)转化为固定长度的输出,而且无法恢复原始的输入数据。

      以下是一个简单的JavaScript代码示例,使用MD5哈希函数对密码进行脱敏处理:

      ```javascript function hashPassword(password) { var hashedPassword = ""; for (var i = 0; i < password.length; i++) { hashedPassword += password.charCodeAt(i) + 0x10000 + password.charCodeAt(i + 1) + 0x10001 + password.charCodeAt(i + 2) + 0x10002 + password.charCodeAt(i + 3) + 0x10003 + password.charCodeAt(i + 4) + 0x10004 + password.charCodeAt(i + 5) + 0x10005 + password.charCodeAt(i + 6) + 0x10006 + password.charCodeAt(i + 7) + 0x10007 + password.charCodeAt(i + 8) + 0x10008 + password.charCodeAt(i + 9) + 0x10009 + password.charCodeAt(i + 10) + 0x1000a + password.charCodeAt(i + 11) + 0x1000b + password.charCodeAt(i + 12) + 0x1000c + password.charCodeAt(i + 13) + 0x1000d + password.charCodeAt(i + 14) + 0x1000e + password.charCodeAt(i + 15) + 0x1000f + password.charCodeAt(i + 16) + 0x10010 + password.charCodeAt(i + 17) + 0x10011 + password.charCodeAt(i + 18) + 0x10012 + password.charCodeAt(i + 19) + 0x10013 + password.charCodeAt(i + 20) + 0x10014 + password.charCodeAt(i + 21) + 0x10015 + password.charCodeAt(i + 22) + 0x10016 + password.charCodeAt(i + 23) + 0x10017 + password.charCodeAt(i + 24) + 0x10018 + password.charCodeAt(i + 25) + 0x10019 + password.charCodeAt(i + 26) + 0x1001a + password.charCodeAt(i + 27) + 0x1001b + password.charCodeAt(i + 28) + 0x1001c + password.charCodeAt(i + 29) + 0x1001d + password.charCodeAt(i + 30) + 0x1001e + password.charCodeAt(i + 31) + 0x1001f + password.charCodeAt(i + 32) + 0x10020 + password.charCodeAt(i + 33) + 0x10021 + password.charCodeAt(i + 34) + 0x10022 + password.charCodeAt(i + 35) + 0x10023 + password.charCodeAt(i + 36) + 0x10024 + password.charCodeAt(i + 37) + 0x10025 + password.charCodeAt(i + 38) + 0x10026 + password.charCodeAt(i + 39) + 0x10027 + password.charCodeAt(i + 40) + 0x10028 + password.charCodeAt(i + 41) + 0x10029 + password.charCodeAt(i + 42) + 0x1002a + password.charCodeAt(i + 43) + 0x1002b + password.charCodeAt(i + 44) + 0x1002c + password.charCodeAt(i + 45) + 0x1002d + password.charCodeAt(i + 46) + 0x1002e + password.charCodeAt(i + 47) + 0x1002f + password.charCodeAt(i + 48) + 0x10030 + password.charCodeAt(i + 49) + 0x10031 + password.charCodeAt(i + 50) + 0x10032 + password.charCodeAt(i + 51) + 0x10033 + password.charCodeAt(i + 52) + 0x10034 + password.charCodeAt(i + 53) + 0x10035 + password.charCodeAt(i + 54) + 0x10036 + password.charCodeAt(i + 55) + 0x10037 + password.charCodeAt(i + 56) + 0x10038 + password.charCodeAt(i + 57) + 0x10039 + password.charCodeAt(i + 58) + 0x1003a + password.charCodeAt(i + 59) + 0x1003b + password.charCodeAt(i + 60) + 0x1003c + password.charCodeAt(i + 61) + 0x1003d + password.charCodeAt(i + 62) + 0x1003e + password.charCodeAt(i + 63) + 0x1003f + password.charCodeAt(i + 64) + 0x10040 + password.charCodeAt(i + 65) + 0x10041 + password.charCodeAt(i + 66) + 0x10042 + password.charCodeAt(i + 67) + 0x10043 + password.charCodeAt(i + 68) + 0x10044 + password.charCodeAt(i + 69) + 0x10045 + password.charCodeAt(i + 70) + 0x10046 + password.charCodeAt(i + 71) + 0x10047 + password.charCodeAt(i + 72) + 0x10048 + password.charCodeAt(i + 73) + 0x10049 + password.charCodeAt(i + 74) + 0x1004a + password.charCodeAt(i + 75) + 0x1004b + password.charCodeAt(i + 76) + 0x1004c + password.charCodeAt(i + 77) + 0x1004d + password.charCodeAt(i + 78) + 0x1004e + password.charCodeAt(i + 79) + 0x1004f + password.charCodeAt(i + 80) + 0x10050 + password.charCodeAt(i + 81) + 0x10051 + password.charCodeAt(i + 82) + 0x10052 + password.charCodeAt(i + 83) + 0x10053 + password.charCodeAt(i + 84) + 0x10054 + password.charCodeAt(i + 85) + 0x10055 + password.charCodeAt(i + 86) + 0x10056 + password.charCodeAt(i + 87) + 0x10057 + password.charCodeAt(i + 88) + 0x10058 + password.charCodeAt(i + 89) + 0x10059 + password.charCodeAt(i + 90) + 0x1005a + password.charCodeAt(i + 91) + 0x1005b + password.charCodeAt(i + 92) + 0x1005c + password.charCodeAt(i + 93) + 0x1005d + password.charCodeAt(i + 94) + 0x1005e + password.charCodeAt(i + 95) + 0x1005f + password.charCodeAt(i + 96) + 0x10060 + password.charCodeAt(i + 97) + 0x10061 + password.charCodeAt(i + 98) + 0x10062 + password.charCodeAt(i + 99) + 0x10063 + password.charCodeAt(i + 100) + 0x10064 + password.charCodeAt(i + 101) + 0x10065 + password.charCodeAt(i + 102) + 0x10066 + password.charCodeAt(i + 103) + 0x10067 + password.charCodeAt(i + 104) + 0x10068 + password.charCodeAt(i

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部