资源简介
用于js加密加密算法,采用js加密,c#可以解密加密算法,采用js加密,c#可以解密
代码片段和文件信息
//***************************************************************************************
// Autor:Tecky
// Date:2008-06-03
// Desc:xxtea 算法的C#加密实现
// e-mail:likui318@163.com
//
//
//***************************************************************************************
using System;
class XXTEA
{
public static string Encrypt(string source string key)
{
System.Text.Encoding encoder = System.Text.Encoding.UTF8;
//UTF8==>base64==>XXTEA==>base64
byte[] bytData = encoder.GetBytes(base64Encode(source));
byte[] bytKey = encoder.GetBytes(key);
if (bytData.Length == 0)
{
return ““;
}
return System.Convert.Tobase64String(ToByteArray(Encrypt(ToUInt32Array(bytData true) ToUInt32Array(bytKey false)) false));
}
public static string Decrypt(string source string key)
{
if (source.Length == 0)
{
return ““;
}
// reverse
System.Text.Encoding encoder = System.Text.Encoding.UTF8;
byte[] bytData = System.Convert.Frombase64String(source);
byte[] bytKey = encoder.GetBytes(key);
return base64Decode(encoder.GetString(ToByteArray(Decrypt(ToUInt32Array(bytData false) ToUInt32Array(bytKey false)) true)));
}
private static UInt32[] Encrypt(UInt32[] v UInt32[] k)
{
Int32 n = v.Length - 1;
if (n < 1)
{
return v;
}
if (k.Length < 4)
{
UInt32[] Key = new UInt32[4];
k.CopyTo(Key 0);
k = Key;
}
UInt32 z = v[n] y = v[0] delta = 0x9E3779B9 sum = 0 e;
Int32 p q = 6 + 52 / (n + 1);
while (q-- > 0)
{
sum = unchecked(sum + delta);
e = sum >> 2 & 3;
for (p = 0; p < n; p++)
{
y = v[p + 1];
z = unchecked(v[p] += (z >> 5 ^ y << 2) + (y >> 3 ^ z << 4) ^ (sum ^ y) + (k[p & 3 ^ e] ^ z));
}
y = v[0];
z = unchecked(v[n] += (z >> 5 ^ y << 2) + (y >> 3 ^ z << 4) ^ (sum ^ y) + (k[p & 3 ^ e] ^ z));
}
return v;
}
private static UInt32[] Decrypt(UInt32[] v UInt32[] k)
{
Int32 n = v.Length - 1;
if (n < 1)
{
return v;
}
if (k.Length < 4)
{
UInt32[] Key = new UInt32[4];
k.CopyTo(Key 0);
k = Key;
}
UInt32 z = v[n] y = v[0] delta = 0x9E3779B9 sum e;
Int32 p q = 6 + 52 / (n + 1);
sum = unchecked((UInt32)(q * delta));
while (sum != 0)
{
e = sum >> 2 & 3;
for (p = n; p > 0; p--)
{
z = v[p - 1];
y = unchecked(v[p] -= (z >> 5 ^ y << 2) + (y >> 3 ^ z << 4) ^ (sum ^ y) + (k[p & 3 ^ e] ^ z));
}
z = v[n];
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8084 2008-09-01 16:13 xxtea.js
文件 5154 2008-09-01 16:15 xxtea.cs
文件 4980 2008-07-23 11:52 jsPoint.htm
----------- --------- ---------- ----- ----
18218 3
- 上一篇:c#连接sql,简易增删改查
- 下一篇:源代码行数统计工具含C#源码
相关资源
- 图片与视频播放器带加密功能- C#源码
- 使用C#实现加密狗身份验证源代码
- c#下post multipart/form-data和JSON
- 在asp.net中使用JqueryAjaxJson实现无刷新
- js前台加密C#后台解密
- JS调用c#编写的DLL 源代码
- pb调用c#编写的动态库SM3/SM4加解密
- c#文件夹及文件加密
- 基于RSA加密的点对点聊天程序 C#
- c# 调用百度地图API
- c# 加密和解密相关代码
- LitJson开发包
- C#文件加密解密完整项目
- 加密解密程序
- C#实现字符串RSA加密与解密 算法工程
- AES加密算法C#实现带中文说明
- C#将json格式转换成DataTable
- C#实现DES加解密完整类源码
-
Js to CSharp sc
ript converter - C#编写DES加解密 图形界面化
- C#开发webservice接口,对客户端post服务
- C# 操作解析Json源码
- JS、ASP、ASP.NET获取MAC地址、机器名、
- C#md5加密解密
-
c#中对xm
l文件加密和解密完整代码 - 国密SM2_SM3加密解密,加签验签操作
- 字符串加密与解密C#源码
- TEA加密解密器C#开发
- 斑马条码打印机EPL打印控件,js c# 可
-
c# JSon
helper 工具类
评论
共有 条评论