前端常用的加密方法

1 RSA加密算法

RSA加密算法是一种 非对称加密算法 ,RSA加密使用了"一对"密钥.分别是公钥和私钥,这个公钥和私钥其实就是一组数字!其二进制位长度可以是1024位或者2048位.长度越长其加密强度越大,目前为止公之于众的能破解的最大长度为768位密钥,只要高于768位,相对就比较安全.所以目前为止,这种加密算法一直被广泛使用.

1.1 RSA在jq项目中的使用

下载jsencrypt.js文件到本地,或者使用cdn的形式对文件进行引入。

前端放置公钥文件,服务端放置私钥文件。

 var encryptor = new JSEncrypt({
              default_key_size: 2048 //设置二进制位数
            });
var publicKey= '-----BEGIN PUBLIC KEY-----\n' +
          'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcRie+DklCiZyRTCniB/o6kPRk\n' +
          'rRO57+cejRRrOOmoPDOrbQlOumGsNsThsShor3sgareTUiLLIdNeoV0hrTHqsFy7\n' +
          'zBFL7QDnvEaI5eYwttesOp4D7y5EM0BU2lKg7L+9FbrNgILGs6PwR97quLozmvoP\n' +
          'RSbr/J/E/+PNki5HMwIDAQAB\n' +
          '-----END PUBLIC KEY-----'
 encryptor.setPublicKey(publicKey);//公钥一般有后端返回
 value = encryptor.encrypt(value);//对value值进行加密处理

1.2RSA在vue项目中的使用

引入jsencrypt的依赖包 

npm i jsencrypt

在main.js文件中对文件进行引用,将其挂载在vue原型链上方便引用

import JsEncrypt from 'jsencrypt'
Vue.prototype.$jsEncrypt = JsEncrypt

在组件中的使用,可以先在data中对jse做个定义,用于数据接收

 this.jse = new this.$jsEncrypt({
            default_key_size:2048
          });
          this.jse.setPublicKey(res.data.data.public_key) //公钥由后端返回,格式与jq项目一直
//----------------------------------------------
value = this.jse.encrypt(value);//对value值进行加密擦欧洲哦

2 MD5加密

MD5不是加密算法,是哈希算法。

MD5只能加密,不能解密。

信息经过MD5加密后处理为128位的信息。

MD5处理过的信息,理论上存在破解的可能,并不是常规意义上的破解,是指存在理论上的碰撞可能,就是说存在多种原文哈希后会得到相同密文都可能。现实实现非常困难。

2.1 MD5在jq项目中的使用

下载md5.js文件到本地,或者使用cdn的形式对文件进行引入。


hex_md5(value) //常用
b64_md5(value)
str_md5(value)
hex_hmac_md5(key, data)
b64_hmac_md5(key, data)
str_hmac_md5(key, data)

2.2 MD5在vue项目中的使用

npm install --save js-md5 //下载依赖包

import md5 from 'js-md5'; //引入文件
 
md5(value) //对value值进行加密

 总结: RSA 和MD5 加密,在日常工作中都有广泛的使用,安全性已经得到了验证,由于其不同的特性,同学们可以选择适合的场景,进行引用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值