js加密+c#后台解密
js加密+c#后台解密
<script>var result = getEncodeString( "123xx");alert(result );var getEncodeString = function (srcString) {var BASE32CHAR = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";var i = 0;var index = 0;var digit = 0;var currByte;var nextByte;var retrunString = '';for (var i = 0; i < srcString.length;) {//var index = 0; currByte = (srcString.charCodeAt(i) >= 0) ? srcString.charCodeAt(i): (srcString.charCodeAt(i) + 256);if (index > 3) {if ((i + 1) < srcString.length) {nextByte = (srcString.charCodeAt(i + 1) >= 0)? srcString.charCodeAt(i + 1): (srcString.charCodeAt(i + 1) + 256);} else {nextByte = 0;}digit = currByte & (0xFF >> index);index = (index + 5) % 8;digit <<= index;digit |= (nextByte >> (8 - index));i++;} else {digit = (currByte >> (8 - (index + 5))) & 0x1F;index = (index + 5) % 8;if (index == 0) {i++;}}retrunString = retrunString + BASE32CHAR.charAt(digit);}return retrunString.toLowerCase();}</script>
/// <summary>/// BASE32解码/// </summary>/// <param name="encodeString"></param>/// <returns></returns>private string getDecodeString(string encodeString){int i;int index;int lookup;int offset;int digit;string en_string = encodeString.ToUpper();int[] BASE32LOOOKUP = new int[]{0xFF, 0xFF, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, // '0', '1', '2', '3', '4', '5', '6', '7'0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // '8', '9', ':', ';', '<', '=', '>', '?'0xFF, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, // '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G'0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, // 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O'0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, // 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W'0x17, 0x18, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 'X', 'Y', 'Z', '[', '\', ']', '^', '_'0xFF, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, // '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g'0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, // 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o'0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, // 'p', 'q', 'r', 's', 't', 'u', 'v', 'w'0x17, 0x18, 0x19, 0xFF, 0xFF, 0xFF, 0xFF,0xFF};int stringLen = ((en_string.Length * 5) / 8);int[] bytes = new int[stringLen];for (var a = 0; a < stringLen; a++){bytes[a] = 0;}for (i = 0, index = 0, offset = 0; i < en_string.Length; i++){var charCode0 = (short)'0';lookup = (short)en_string[i] - charCode0;if ((lookup < 0) || (lookup >= BASE32LOOOKUP.Length)){continue;}digit = BASE32LOOOKUP[lookup];if (digit == 0xFF){continue;}if (index <= 3){index = (index + 5) % 8;if (index == 0){bytes[offset] = bytes[offset] | digit;offset++;if (offset >= bytes.Length){break;}}else{bytes[offset] = bytes[offset] | (digit << (8 - index));}}else{index = (index + 5) % 8;bytes[offset] = bytes[offset] | (digit >> index);offset++;if (offset >= bytes.Length){break;}bytes[offset] = bytes[offset] | (digit << (8 - index));if (bytes[offset] >= 256){bytes[offset] %= 256;}}}string realkeyString = "";for (var a = 0; a < bytes.Length; a++){var realkey = (char)bytes[a];realkeyString += realkey;}return realkeyString;}
js加密+c#后台解密相关推荐
- aes前端js加密及后台解密
1. 加载js <script src="https://cx-a.com/zy/js/aes.js"></script> <script src=& ...
- rsa实现js前台加密java后台解密
前段时间咱老大吩咐我写一个rsa前台加密到后台用java解密.(说实话这之前我还真没用过) 不过没办法啊,这是任务,于是研究了一下.圆满完成任务了,下面共享下实现思路: 准备工作:其实鄙人也没那么强啦 ...
- 前后台数据传输问题----AES加密,前台JS加密,后台JAVA解密。
一.JS中加密(解密)数据,采用的是谷歌的CryptoJS静态件 链接: https://pan.baidu.com/s/1l5pHY4g45zzL85dDs8M82Q (如果CSDN无法直接跳转,建 ...
- js插件jsencrypt实现rsa前端加密php后台解密
前端页面代码 传递到php后台的是公钥加密的数据 <!DOCTYPE html> <html lang="en"> <head><meta ...
- JS实现前端密码加密,后台解密
JS加密方法 //登录按钮进行输入明文密码加密 $("#login").on("click",function(){var passWord=$("# ...
- jsencrypt.js加密java后端解密
文章目录 1.什么是RSA? 2.RSA算法 2.1 生成公钥和私钥 2.2 使用公钥加密信息 2.3 使用私钥解密信息 4.RSA的应用:数字签名 5.RSA的安全性 6.为什么要写这文章? 7.前 ...
- post 传递参数中包含 html 代码解决办法,js加密,.net解密
今天遇到一个问题,就是用post方式传递参数,程序在vs中完美调试,但是在iis中,就无法运行了,显示传递的参数获取不到,报错了,查看浏览器请求情况,错误500,服务器内部错误,当时第一想法是接收方式 ...
- java请求url加密_URL请求对参数前端JS加密,后台JAVA解密
import java.io.ByteArrayOutputStream; /** * 表单传输信息加密 * @author wutz * */ public class Base64Util { p ...
- RSA 前段加密 java 后台解密 已调试通过
本人整理网上的.好多网上的调不通.在这里把调试好的贴出来. 1. 异步获取公钥(后台获取):你也可以将公钥串写在页面上: var publicKey = null; $.ajax({ url: c ...
最新文章
- errorEruda解决移动端真机调试,bug收集问题
- LeetCode374 猜数字大小 (二分法)
- ad采样做按键开关_电池应用中的电流采样电阻设计
- 扩展 HashMap
- 4.闭锁 CountDownLatch
- javascrit 数组方法总结(数组对象、栈,队列、重排序、操作数组方法、位置方法、归并方法、迭代方法)
- php ajax可编辑表格,jquerAjax+php实现表格的增删改查(带数据库)
- Android源码大放送(实战开发必备)
- PCD与STL格式及其内涵
- 如何写一个脚本(附送一个脚本)
- 网站发布的文章如何快速被收录?
- flash学习者不要错过-视频教程打包下载
- win10电脑wifi服务器未响应,Win10系统点击无线图标没反应的解决方法
- 大战初起 “云”局未定:微软云在未来能够抢到多少市场份额?
- 手机计算机隐藏,手机计算机自带的隐藏功能,我也是现在才知道,功能比你想得多...
- 联想win8系统改成win7系统教程,win8系统如何装回win7
- flinkSQL Table转DataStream
- 高精度轻量级图像分割SOTA模型PP-LiteSeg开源
- return可以跳出for循环和while循环
- 通过Git同步Obsidian与IOS
热门文章
- 多语言多商户跨境电商商城源码_平台开发部署选择
- 李宏毅深度学习——机器终身学习
- STM32 RTC时钟读取时间
- 图书馆借还系统C语言,急求程序!!!简单图书馆借/还书管理子系统
- 汽车票管理系统C语言课程设计
- 论文自动写作之自动添加参考文献
- 【LeetCode】1184. 公交站间的距离(C++)
- 第23课 Altium Designer20(AD20)+VESC6.4实战教程:导入嘉立创原理图 增加PCB信号层 差分线计算和走线方法(北冥有鱼
- 利用JS实现QQ好友的分组展开功能
- 颜色聚合向量(CCV)