`
kakarottoz
  • 浏览: 8223 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

解决Base64中文不能加密问题

阅读更多

       最近用到了Base64.js来对url参数进行加密,字母和数字都可以很好地加密/解密。 但测试中文时发现不能进行转换,貌似Base64.js不支持中文字符。

       联想到encodeURI()对url的编码/解码,但encodeURI、decodeURI只能对汉字进行转换,不支持字母和数字。于是想能不能先用encodeURI编码 再用base64加密; 得到密钥先用base64解密,再用decodeURI解码。经过测试  成功了!从而实现了对数字、字母、汉字的加密解密。下面为测试代码:

 

 <script type="text/javascript" src="js/Base64.js"></script>
<script type="text/javascript">
		
		function bian(){
			var val = document.getElementById("bb").value;
			var com= base64encode(encodeURI(val));
			var res = document.getElementById("result");
			res.value=com;
		}
		function jie(){
			var val = document.getElementById("bb").value;
			var com=  decodeURI(base64decode(val)) ;
			//document.write(com);
			var res = document.getElementById("result");
			res.value=com;
		}
	</script>

 

<input type="text" id="bb"/>
    	<input type="button" value="编码" onclick="bian()">
    	<input type="button" value="解码" onclick="jie()"> <br/>
    	
    	<input type="text" id="result" >

 

分享到:
评论

相关推荐

    js的base64和base32加密函数

    Base64使用64个字符(包括大小写字母、数字、加号和斜线)来表示数据,每个字符代表6位二进制数,因此每三个字节可以编码成四个Base64字符。 2. **Base32**:与Base64类似,Base32也是一种用于将二进制数据转换为...

    jquery-base64加密解密,支持中文

    `jQuery`的Base64实现解决了这个问题,使得包含中文的字符串也可以安全地进行Base64转换。 描述中提到,加密发生在前端,使用`jQuery`,然后解密在后台,可能是Java环境中的Servlet。`jQuery`的`$.ajax`方法用于...

    js base64 解码解决中文乱码问题

    使用方法:utf8to16(base64decode(你的加密字符串));

    jqueryBase64 完美支持中文加密解密

    完美支持中文的jqueryBase64加密解密,加密:$.base64.encode("要加密的文字"); $.base64.decode("要解密的密文");

    base64加密解密-js-utf-8

    base64中文加密 注意中文编码为UTF-8

    delphi2010 base64_encode&decode

    描述中的“支持多种字符集,解决中文加密后解密乱码的问题”揭示了一个关键问题,即在处理包含非英文字符(如中文)的数据时,Base64编码可能会遇到乱码问题。这是由于Base64本身是针对ASCII字符集设计的,而中文等...

    微信小程序base64编码,解决传递中文乱码问题

    import {Base64} from '../../utils/base64' nickName = Base64.encode(nickName); //加密 console.log('nickNameEncoded'+nickName); // nickName = Base64.decode(nickName);//解密 // console.log('解密'+...

    base64 encode 中文版

    由于早期电子邮件系统只能处理文本格式的数据,而不能直接处理二进制数据,因此Base64编码应运而生。它能够将任意二进制数据转化为文本格式,以便于在网络上传输。 #### 三、编码原理 1. **字符集**:Base64编码...

    base64的js与java相互解密.rar

    在项目开发中,会遇到前台js接收后台java传递的加密字符串,然后由js解密后进行处理。或是后端java接收前台由js进行base64加密后的字符串,然后由java解密...本文针对这种情况给出一种可行方法,且解决了中文乱码问题。

    base64的js与java相互解密

    在项目开发中,会遇到前台js接收后台java传递的加密字符串,然后由js解密后进行处理。或是后端java接收前台由js进行base64加密后的字符串,然后由java解密...本文针对这种情况给出一种可行方法,且解决了中文乱码问题。

    utf8,unicode,gbk,base64实现

    Unicode的出现解决了早期各种字符编码系统(如ASCII)不能覆盖所有语言的问题,实现了跨平台、跨语言的文本处理。 UTF-8是Unicode的一个具体实现,是一种变长的字节顺序编码。UTF-8的特点是它能够兼容ASCII编码,...

    PHP+JS Base64和URI编码解码

    总结起来,PHP和JavaScript中的Base64编码和URI编码都是为了处理和传输数据时避免字符冲突或不兼容的问题。Base64主要用于二进制数据,而URI编码主要用于URL中的文本数据。在实际开发中,理解并正确使用这些编码方法...

    最可靠的base64代码

    此外,由于描述中提到这个Base64实现适用于中英文加密解密,那么它可能还包含了对Unicode字符的支持,确保在编码和解码过程中中文字符能正确无损地转换。 总的来说,base64.cpp和base64.h文件提供了一套完整的Base...

    基于des前后端加密解密

    "基于DES前后端加密解密"的实践就是为了解决这个问题。DES(Data Encryption Standard)是一种广泛应用的对称加密算法,其特点是加密和解密使用同一密钥,适合于大量数据的快速加密。 首先,我们来理解DES加密的...

    易语言BASE64编码模块.zip易语言项目例子源码下载

    通过研究这个易语言BASE64编码模块,你可以学习到如何在实际编程中应用数据编码技术,了解如何在易语言环境下处理字符串和二进制数据,同时也能锻炼你的编程思维和解决问题的能力。在实际项目中,你可以将这些知识...

    解决java 与C# MD5 不一致问题 代码

    ### 解决Java与C# MD5不一致问题 在软件开发过程中,经常需要对数据进行加密处理以确保数据的安全性和一致性。MD5是一种常用的哈希算法,被广泛应用于各种场景中,如密码加密、文件校验等。但在跨平台或多语言环境...

    SpringBoot 集成 Jasypt 对数据库加密以及踩坑

    在本文中,我们将介绍如何在 SpringBoot 项目中集成 Jasypt 对数据库进行加密,并解决在使用 Jasypt 过程中遇到的常见问题。 在开始之前,需要首先添加 Jasypt 的依赖项到 pom.xml 文件中: ```xml &lt;groupId&gt;...

    rsa.rar_rsa_字符串加密

    RSA算法是一种非对称加密算法...通过结合Base64编码,解决了中文字符加密可能遇到的编码问题,确保了数据的安全性和可传输性。对于学习和理解RSA算法及其在Java中的实现,这两个源代码文件提供了很好的参考和实践素材。

    js版本实现rsa加密

    为了解决这个问题,通常会先对数据进行编码(如Base64或UTF-8),然后再进行加密。 5. **示例代码**:`index.html`可能包含了一个示例,演示如何在JS中使用RSA加密。通常,这样的代码会涉及导入加密库,创建密钥对...

    易语言文本字节集加密

    加密后的字节集不能直接被人类理解,增加了数据的安全性。 2. **输出字节集文本**: 加密后的字节集需要被保存或传输时,会转换成可读的文本格式,这就是输出字节集文本的过程。这通常通过将字节集编码成十六进制...

Global site tag (gtag.js) - Google Analytics