js中加密解密时中文符号乱码
原先加密解密定义方法请看:JavaScript自定义实现字符串加密和解密
上面的方法会导致后台给前端返回名称类的字符串中带中文符号时,页面渲染的会有乱码的情况存在,如何解决这一问题呢,发现利用以下几种方法都不太行:
1.encodeURIComponent:
decodeURIComponent(encodeURIComponent("中文字符串(12()!@;;)"))
2.encodeURI
最终,不得不考虑更换编码解码的代码,demo如下:
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>网页加密及解密</title><meta name="author" content="xiongzaiqiren" /><meta name="keywords" content="" /><meta name="description" content="" /><meta name="generator" content="ClassBao team coding in July 10, 2017" /></head><body><p><textarea id="text1" name="textfield" cols="50" rows="5">钱庄王员外这个人怎么样?</textarea></p><input type="button" name="Button1" value="加密" onClick="text1.value = MySign.Encrypt(text1.value);"><input type="button" name="Button2" value="解密" onClick="text1.value = MySign.UnEncrypt(text1.value);"><script language="JavaScript">/**加密 */function toCode(Text) {let output = '',alterText = new Array(),varCost = new Array(),TextSize = Text.length;for (var i = 0; i < TextSize; i++) {let idea = Math.round(Math.random() * 111) + 77;alterText[i] = Text.charCodeAt(i) + idea;varCost[i] = idea;}for (var i = 0; i < TextSize; i++) {output += String.fromCharCode(alterText[i], varCost[i]);}//text1.value = output;return output;}/**解密 */function fromCode(Text) {let output = '', alterText1 = new Array(), varCost1 = new Array(), TextSize = Text.length;for (var i = 0; i < TextSize; i++) {alterText1[i] = Text.charCodeAt(i);varCost1[i] = Text.charCodeAt(i + 1);}for (var i = 0; i < TextSize; i = i + 2) {output += String.fromCharCode(alterText1[i] - varCost1[i]);}//text1.value = output;return output;}let str1 = "你好(玛丽190cm+)";console.log(str1);let str2 = toCode(str1);console.log("str2",str2);let str3 = fromCode(str2);console.log("str3",str3);</script></body>
</html>
js中加密解密时中文符号乱码相关推荐
- HEX/UNHEX结合AES_ENCRYPT的加密解密时,汉字乱码中文乱码问题
最近在处理项目上数据加密的事宜的时候,遇到一个解密中文字段数据库乱码的问题,详细记录一下,活到老学到老. 我们采用的加密解密方式为HEX/UNHEX结合AES_ENCRYPT的加密解密.以下是示例 S ...
- Windows 平台中采用 beamer 时中文书签乱码解决方法
具体做法如下 Step 1: 在 beamer.cls 中找到: \PassOptionsToPackage{bookmarks=true,% ...
- 解决Git中打开gitk图形界面时中文部分乱码
解决Git中打开gitk图形界面时中文部分乱码 gitri图形日志gitk打开时,看到中文时乱码,不用着急按照下面方法立刻解决! 分析:这大部分是因为编码格式的问题,建议使用utf-8 without ...
- js中html网页打开中文乱码
js中html网页打开中文乱码 (1)一般为编码格式出问题. (2)源代码文件自身的编码格式和定义的不一样. 首先需要定义当前的文件编码格式为utf-8: <meta charset=" ...
- 加密解密时遇到的不正确的数据以及要解密的数据长度无效问题解决方案
这两天一直在为文件加密解密时,由于关闭数据转换链接流CryptoStream或者使用FlushFinalBlock时出现的 "不正确的数据"和"要解密的数据长度无效&qu ...
- (配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题
(配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题 SpringMVC.xml中加 <!-- 配置消息转换器(解决中文乱码问题)--><mvc:annotati ...
- JAVA运行时中文输出乱码原因与解决
JAVA运行时中文输出乱码 public class project1 { public static void main(String[] args) {System.out.println(&qu ...
- php字符串加密解密源码,PHP中加密解密字符串函数源代码
PHP中加密解密字符串函数源代码: /** *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ / ...
- php中des加密cbc模式,php中加密解密DES类的简单使用方法示例
本文实例讲述了php中加密解密DES类的简单使用方法.分享给大家供大家参考,具体如下: 在平时的开发工作中,我们经常会对关键字符进行加密,可能为了安全 也可能为了规范,所以要正确使用DES加密解密 代 ...
最新文章
- 《本人娶刘亦菲的可行性报告》原文
- js-ES6学习笔记-Iterator和for-of循环
- Oracle 修改SYS、system用户密码
- 写一个楼房盘类java语言编写_Java开发每日复盘2018_0514
- 某程序员9点离岗被主管罚款200,写bug扣光主管年终奖?
- protect db by denying DDL operations
- Linux之ab命令
- java 移位 简书_js,java中的 无符号右移位符,左移位符,有符号右移位符
- 阅读《经济学人》,学会这样查词典,从此英语学习不求人
- js 如何实现点击一键复制文本
- 直播企业掀“冲击IPO”浪潮,为何老玩家成受益者?
- 计算机执行优盘上程序的过程,U盘打开后,文件变成exe执行文件怎么办-电脑自学网...
- 计算机物理安全策略,关于计算机信息安全策略的维度思考研究
- 技术分享 | binlog 实用解析工具 my2sql
- 勃林格殷格翰战略入股新瑞鹏,进一步拓展中国宠物市场
- 富受贿数额为45437元
- 北京一卡通app未能连接到服务器,使用Apple Pay刷北京一卡通时遇到这些问题怎么办?...
- 使用posman访问post请求
- VNC Viewer 远程 Unable to connect to VNC Server using your chosen securitysetting. 问题解决
- Recordset的Open函数的光标类型CursorType!