uniapp AES 加密和解密案例
时间: 2023-11-30 17:01:52 浏览: 209
以下是一个简单的uniapp中使用AES加密和解密的示例代码:
```javascript
// 加密
function encryptData(data, key, iv) {
const cipher = uniCrypto.createCipheriv('aes-128-cbc', key, iv)
let encrypted = cipher.update(data, 'utf8', 'base64')
encrypted += cipher.final('base64')
return encrypted
}
// 解密
function decryptData(data, key, iv) {
const decipher = uniCrypto.createDecipheriv('aes-128-cbc', key, iv)
let decrypted = decipher.update(data, 'base64', 'utf8')
decrypted += decipher.final('utf8')
return decrypted
}
// 使用示例
const data = 'Hello World!'
const key = '1234567812345678'
const iv = '8765432187654321'
const encrypted = encryptData(data, key, iv)
console.log('加密后的数据:', encrypted)
const decrypted = decryptData(encrypted, key, iv)
console.log('解密后的数据:', decrypted)
```
在上面的代码中,`encryptData`函数接收要加密的数据、加密密钥和初始化向量(iv),并使用`uniCrypto.createCipheriv`方法创建一个AES加密器,然后使用`cipher.update`和`cipher.final`方法进行加密,最后返回加密后的数据。
`decryptData`函数接收要解密的数据、解密密钥和初始化向量(iv),并使用`uniCrypto.createDecipheriv`方法创建一个AES解密器,然后使用`decipher.update`和`decipher.final`方法进行解密,最后返回解密后的数据。
在使用时,只需将要加密的数据、加密密钥和初始化向量(iv)传递给`encryptData`函数即可获得加密后的数据,将加密后的数据、解密密钥和初始化向量(iv)传递给`decryptData`函数即可获得解密后的数据。
阅读全文