密码的前端加密与后端解密

这篇博客探讨了在vue和微信小程序中使用公钥进行前端密码加密的方法,并介绍了后端如何使用Hutool工具包配合私钥进行解密的步骤。
摘要由CSDN通过智能技术生成

前端加密之vue加密

安装依赖

npm install jsencrypt

公钥加密密码

import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'

// 密钥对生成 http://web.chacuo.net/netrsakeypair

const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMNRhRdV7BI4MN5buB2Dyj6+dSOEpa6jCiJETtBtwfTuWlerqzdgxvFJHKLrHDscCagHY1X1wXh599LE0fs2nQ8CAwEAAQ=='

// 加密
export function encrypt(txt) {
   
  const encryptor = new JSEncrypt()
  encryptor.setPublicKey(publicKey) // 设置公钥
  return encryptor.encrypt(txt) // 对数据进行加密
}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现前端密码加密后端解密,可以使用一些加密库来完成。 例如,在前端使用CryptoJS库中的AES算法对密码进行加密,然后将加密后的密码传输给后端;在后端使用相同的库对加密后的密码进行解密,获取原始密码,再与数据库中存储的密码进行比对,验证密码是否正确。 以下是一个简单的示例代码: 前端代码: ```javascript import CryptoJS from 'crypto-js' // 加密密码 function encryptPassword(password, key) { const encrypted = CryptoJS.AES.encrypt(password, key) return encrypted.toString() } // 调用示例 const password = '123456' const key = 'my-secret-key' const encryptedPassword = encryptPassword(password, key) // 将 encryptedPassword 传输给后端进行验证 ``` 后端代码: ```javascript const CryptoJS = require('crypto-js') // 解密密码 function decryptPassword(encryptedPassword, key) { const bytes = CryptoJS.AES.decrypt(encryptedPassword, key) const decryptedPassword = bytes.toString(CryptoJS.enc.Utf8) return decryptedPassword } // 调用示例 const encryptedPassword = 'U2FsdGVkX1+2MBXDnZyE1hZQbC3QFg2Jr7unJyJtYYs=' // 前端传输过来的加密后的密码 const key = 'my-secret-key' const decryptedPassword = decryptPassword(encryptedPassword, key) // 将 decryptedPassword 与数据库中的密码进行比对,验证密码是否正确 ``` 需要注意的是,加密算法的安全性与使用的加密密钥的安全性密切相关,因此在实际使用中需要选择安全可靠的加密算法和密钥。另外,还需要注意密码传输过程中的安全性,建议使用HTTPS协议传输数据以保障数据安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值