js base64加密与C#后台base64解密
js代码
   function encode64(input) {
         var output = "";
         var base = new Base64();
         var output = base.encode(input);
         return output;
     }
     function Base64() {
         // private property
         _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
         // public method for encoding
         this.encode = function (input) {
             var output = "";
             var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
             var i = ;
             input = _utf8_encode(input);
             while (i < input.length) {
                 chr1 = input.charCodeAt(i++);
                 chr2 = input.charCodeAt(i++);
                 chr3 = input.charCodeAt(i++);
                 enc1 = chr1 >> ;
                 enc2 = ((chr1 & ) << ) | (chr2 >> );
                 enc3 = ((chr2 & ) << ) | (chr3 >> );
                 enc4 = chr3 & ;
                 if (isNaN(chr2)) {
                     enc3 = enc4 = ;
                 } else if (isNaN(chr3)) {
                     enc4 = ;
                 }
                 output = output +
                 _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +
                 _keyStr.charAt(enc3) + _keyStr.charAt(enc4);
             }
             return output;
         }
         // public method for decoding
         this.decode = function (input) {
             var output = "";
             var chr1, chr2, chr3;
             var enc1, enc2, enc3, enc4;
             var i = ;
             input = input.replace(/[^A-Za-z0-\+\/\=]/g, "");
             while (i < input.length) {
                 enc1 = _keyStr.indexOf(input.charAt(i++));
                 enc2 = _keyStr.indexOf(input.charAt(i++));
                 enc3 = _keyStr.indexOf(input.charAt(i++));
                 enc4 = _keyStr.indexOf(input.charAt(i++));
                 chr1 = (enc1 << ) | (enc2 >> );
                 chr2 = ((enc2 & ) << ) | (enc3 >> );
                 chr3 = ((enc3 & ) << ) | enc4;
                 output = output + String.fromCharCode(chr1);
                 if (enc3 != ) {
                     output = output + String.fromCharCode(chr2);
                 }
                 if (enc4 != ) {
                     output = output + String.fromCharCode(chr3);
                 }
             }
             output = _utf8_decode(output);
             return output;
         }
         // private method for UTF-8 encoding
         _utf8_encode = function (string) {
             string = string.replace(/\r\n/g, "\n");
             var utftext = "";
             for (var n = ; n < string.length; n++) {
                 var c = string.charCodeAt(n);
                 if (c < ) {
                     utftext += String.fromCharCode(c);
                 } else if ((c > ) && (c < )) {
                     utftext += String.fromCharCode((c >> ) | );
                     utftext += String.fromCharCode((c & ) | );
                 } else {
                     utftext += String.fromCharCode((c >> ) | );
                     utftext += String.fromCharCode(((c >> ) & ) | );
                     utftext += String.fromCharCode((c & ) | );
                 }
             }
             return utftext;
         }
         // private method for UTF-8 decoding
         _utf8_decode = function (utftext) {
             var string = "";
             var i = ;
             var c = c1 = c2 = ;
             while (i < utftext.length) {
                 c = utftext.charCodeAt(i);
                 if (c < ) {
                     string += String.fromCharCode(c);
                     i++;
                 } else if ((c > ) && (c < )) {
                     c2 = utftext.charCodeAt(i + );
                     string += String.fromCharCode(((c & ) << ) | (c2 & ));
                     i += ;
                 } else {
                     c2 = utftext.charCodeAt(i + );
                     c3 = utftext.charCodeAt(i + );
                     string += String.fromCharCode(((c & ) << ) | ((c2 & ) << ) | (c3 & ));
                     i += ;
                 }
             }
             return string;
         }
     }
/// <summary>
/// base64解密
/// </summary>
/// <param name="encode">编码,与js一致</param>
/// <param name="result">加密源字符串</param>
/// <returns></returns>
public static string DecodeBase64(Encoding encode, string result)
{
string decode = "";
byte[] bytes = Convert.FromBase64String(result);
try
{
decode = encode.GetString(bytes);
}
catch
{
decode = result;
}
return decode;
}
js base64加密与C#后台base64解密的更多相关文章
- js前台加密,java后台解密实现
		参考资料: JS前台加密,java后台解密实现 
- 前端JS AES加密 后端PHP AES加解密
		<!DOCTYPEhtml> <html> <head> <title>aes demo</title> </head> < ... 
- JS URL 使用base64加密与解密
		JS编码方式: <script type="text/javascript"> document.write(encodeURI("http://www.w3 ... 
- JS URL 使用base64加密与解密和MD5解密
		JS编码方式: <script type="text/javascript"> document.write(encodeURI("http://www.w3 ... 
- android Base64加密解密
		// 加密传入的数据是byte类型的,并非使用decode方法将原始数据转二进制,String类型的数据 使用 str.getBytes()即可 String str = "Hello!&q ... 
- Jmeter中实现base64加密
		Jmeter已不再提供内置base64加密函数,遇到base64加密需求,需要通过beanshell实现 直接上beanshell代码: import org.apache.commons.net.u ... 
- js实现加密(?!)
		<script src="yourUrl/md5.min.js"></script> 或者: <script src="http://cdn ... 
- js base64加密,后台解密
		这是为了解决页面发送post请求,传输密码,在页面的控制台可以看到密码的明文,所以先用base64把要传输的密码转换为非明文,然后在后台解密处理. base64encode.js // base64加 ... 
- jquery对中文进行base64加密,后台用java进行base64解密
		项目中遇到将中文从前台传到后台过程中,出现乱码,一番尝试之后,均是乱码,然后尝试在js代码中先进行base64加密,然后在Java中再进行解密,完美的解决了乱码问题,步骤如下 一,html页面引入jQ ... 
随机推荐
- 简单来说一下java中的泛型,ssh中dao层使用会简化代码量
			原来仅仅是听老师说泛型特别好用,但是后来一直弄android用的泛型就比較少了.但是感觉它真的非常重要,于是花了一下午的时间写了个demo.好,老规矩.上代码: 首先,sysout是个工具,可是用着不 ... 
- bzoj4519: [Cqoi2016]不同的最小割(分治最小割)
			4519: [Cqoi2016]不同的最小割 题目:传送门 题解: 同BZOJ 2229 基本一样的题目啊,就最后用set记录一下就ok 代码: #include<cstdio> #inc ... 
- crontab中使用sudo命令的注意
			在使用crontab执行非root用户定时任务时,有时候shell脚本里需要用到sudo以获得root权限: 如: VIP_CARD=eth0 VIP_ADDR=192.168.4.119 NETMA ... 
- rman备份简介
			登陆rman: [oracle@oracle ~]$ rman target / connected to target database: FSDB (DBID=1179347208) 执行全备: ... 
- vue.js---methods中一个方法调用另一个方法
			new Vue({ el: '#app', data: { test:111, }, methods: { test1:function(){ alert(this.test) }, test2:fu ... 
- 定时清理clientmqueue目录垃圾文件防止占满磁盘空间
			RedHat/CentOS 5.8 默认就有sendmail,而6.4默认没有. 手动清理方法: find /var/spool/clientmqueue/ -type f|xargs rm -f ... 
- PKI和加密,散列算法
			Day 11-PKI和加密,散列算法 PKI(Public Key Infrastructure公钥基础设施) 1 PKI(Public Key Infrastructure公钥基础设施)回顾学习 - ... 
- js对象追加到数组里
			描述:将一个点击事件得到的对象追加到数组里 做法:全局声明一个数组,,在对象的点击事件里将得到的对象追加到数组 change(a){ arr.push(a) console.log(arr) var ... 
- [agc016d]xor replace
			题意: 题解: 棒棒的神仙题...这题只是D题???(myh:看题五分钟,讨论两小时) 首先这个异或和是假的,比如我现在有$a=(a_1,a_2,a_3,a_4)$,操作一下$a_2$,就变成了$a= ... 
- AC自动机笔记
			AC自动机 #include<iostream> #include<cstring> #include<cstdio> #include<cmath> ... 
