js字符串汉字Base64加密
时间: 2023-07-17 17:08:58 浏览: 133
在JavaScript中,你可以使用`TextEncoder`和`btoa()`函数对含有汉字的字符串进行Base64编码。以下是一个示例:
```javascript
const data = '你好,世界!'; // 要加密的字符串
const encoder = new TextEncoder();
const encodedData = btoa(encoder.encode(data)); // 使用TextEncoder将字符串转换为Uint8Array,然后使用btoa()函数进行Base64编码
console.log(encodedData); // 输出加密后的数据
```
在上述示例中,我们首先创建了一个`TextEncoder`对象,然后使用该对象将字符串转换为Uint8Array(以支持包含汉字的字符串)。接下来,我们使用`btoa()`函数对Uint8Array进行Base64编码。你可以在控制台中查看加密后的数据。
请注意,Base64编码仅将数据转换为可读的ASCII字符串形式,并不提供真正的加密功能。如果你需要进行数据加密,请考虑使用其他加密算法和库。
相关问题
使用TextEncoder和btoa()函数对含有汉字的字符串进行Base64解密
对于含有汉字的字符串进行Base64解密,你需要使用`atob()`函数将Base64编码的字符串解码为原始数据,然后再使用`TextDecoder`将解码后的数据转换为字符串。以下是一个示例:
```javascript
const encodedData = '5L2g5aW977yM5LiW55WM77yB'; // 加密后的Base64字符串
const decodedData = atob(encodedData); // 使用atob()函数解码Base64字符串
const decoder = new TextDecoder();
const decodedString = decoder.decode(new Uint8Array([...decodedData].map(char => char.charCodeAt(0)))); // 将解码后的数据转换为字符串
console.log(decodedString); // 输出解密后的字符串
```
在上述示例中,我们首先使用`atob()`函数对加密后的Base64字符串进行解码,得到原始数据。然后,我们创建了一个`TextDecoder`对象,并使用该对象将解码后的数据转换为字符串。最后,你可以在控制台中查看解密后的字符串。
请注意,解密过程中,我们使用了`Uint8Array`和`TextDecoder`来处理解码后的数据,并将其转换为字符串。这是因为在处理含有汉字等非ASCII字符的字符串时,需要使用适当的编码和解码方式。
阅读全文