vue项目用js封装的md5

本文介绍了如何在Vue项目中封装一个MD5加密的JavaScript函数,包括关键的位运算和MD5轮询过程。然后在Vue页面中通过导入这个函数,对用户密码进行MD5加密处理。
摘要由CSDN通过智能技术生成
第一步:封装好js文件
export default {
  md5 (string) {
    function md5RotateLeft (lValue, iShiftBits) {
      return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits))
    }
    function md5AddUnsigned (lX, lY) {
      let lX4, lY4, lX8, lY8, lResult
      lX8 = (lX & 0x80000000)
      lY8 = (lY & 0x80000000)
      lX4 = (lX & 0x40000000)
      lY4 = (lY & 0x40000000)
      lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF)
      if (lX4 & lY4) {
        return (lResult ^ 0x80000000 ^ lX8 ^ lY8)
      }
      if (lX4 | lY4) {
        if (lResult & 0x40000000) {
          return (lResult ^ 0xC0000000 ^ lX8 ^ lY8)
        } else {
          return (lResult ^ 0x40000000 ^ lX8 ^ lY8)
        }
      } else {
        return (lResult ^ lX8 ^ lY8)
      }
    }
    function md5F (x, y, z) {
      return (x & y) | ((~x) & z)
    }
    function md5G (x, y, z) {
      return (x & z) | (y & (~z))
    }
    function md5H (x, y, z) {
      return (x ^ y ^ z)
    }
    function md5I (x, y, z) {
      return (y ^ (x | (~z)))
    }
    function md5FF (a, b, c, d, x, s, ac) {
      a = md5AddUnsigned(a, md5AddUnsigned(md5AddUnsigned(md5F(b, c, d), x), ac))
      return md5AddUnsigned(md5RotateLeft(a, s), b)
    }
    function md5GG (a, b, c, d, x, s, ac) {
      a = md5AddUnsigned(a, md5AddUnsigned(md5AddUnsigned(md5G(b, c, d), x), ac))
      return md5AddUnsigned(md5RotateLeft(a, s), b)
    }
    function md5HH (a, b, c, d, x, s, ac) {
      a = md5AddUnsigned(a, md5AddUnsigned(md5AddUnsigned(md5H(b, c, d), x), ac))
      return md5AddUnsigned(md5RotateLeft(a, s), b)
    }
    function md5II (a, b, c, d, x, s, ac) {
      a = md5AddUnsigned(a, md5AddUnsigned(md5AddUnsigned(md5I(b, c, d), x), ac))
      return md5AddUnsigned(md5RotateLeft(a, s), b)
    }
    function md5ConvertToWordArray (string) {
      let lWordCount
      let lMessageLength = string.length
      let lNumberOfWordsTemp1 = lMessageLength + 8
      let lNumberOfWordsTemp2 = (lNumberOfWordsTemp1 - (lNumberOfWordsTemp1 % 64)) / 64
      let lNumberOfWords = (lNumberOfWordsTemp2 + 1) * 16
      let lWordArray = Array(lNumberOfWords - 1)
      let lBytePosition = 0
      let lByteCount = 0
      while (lByteCount < lMessageLength) {
        lWordCount = (lByteCount - (lByteCount % 4)) / 4
        lBytePosition = (lByteCount % 4) * 8
        lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition))
        lByteCount++
      }
      lWordCount = (lByteCount - (lByteCount % 4)) / 4
      lBytePosition = (lByteCount % 4) * 8
      lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition)
      lWordArray[lNumberOfWords - 2] = lMessageLength << 3
Vue.js-md5是一个用于在Vue项目中进行MD5加密的npm包。它是基于js-md5库的封装,提供了全局使用和局部使用两种方式。在使用之前,你需要通过npm安装js-md5依赖包。 在局部使用时,你可以通过import语句将md5函数引入到你的Vue组件中,并在需要加密的地方调用md5函数进行加密。示例代码如下: ``` import md5 from 'js-md5' ... md5('MD5加密') ``` 在全局使用时,你可以在Vue实例的原型上定义$md5方法,并在需要加密的地方调用this.$md5函数进行加密。示例代码如下: ``` import md5 from 'js-md5'; ... Vue.prototype.$md5 = md5; ... this.$md5('MD5加密') ``` 值得注意的是,MD5加密是一种单向加密,加密后的结果无法被解密得到原始数据。一般在传递密码等敏感信息时,会使用MD5加密来保证数据的安全性。 总结起来,Vue.js-md5是一个方便在Vue项目中进行MD5加密的工具,可以通过全局使用或局部使用两种方式来使用。你可以根据自己的需求选择适合的方式进行加密操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [vue项目之使用md5加密密码](https://blog.csdn.net/m0_67460846/article/details/131890826)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [vue-md-loader-Markdown文件到ALIVE Vue组件。-Vue.js开发](https://download.csdn.net/download/weixin_42146230/19136302)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值