加密:

/// <summary>
/// 对字符串进行加密
/// </summary>
/// <param name="proclaimText"></param>
/// <returns></returns>
public static string CipherText(string proclaimText)
{
if (proclaimText.IsEmpty()) return proclaimText; byte[] proclaimBytes = UnicodeEncoding.BigEndianUnicode.GetBytes(proclaimText);
int proclaimBytesCount = proclaimBytes.Length;
byte[] cipherBytes = new byte[proclaimBytesCount * 2]; for (int i = 0; i < proclaimBytesCount; i += 2)
{
byte proclaimByte = proclaimBytes[i];
int upperByte = proclaimByte & 0xf0;
int lowerByte = proclaimByte & 0x0f;
upperByte = upperByte >> 4;
lowerByte = lowerByte << 4; byte proclaimByte2 = proclaimBytes[i + 1];
int upperByte2 = proclaimByte2 & 0xf0;
int lowerByte2 = proclaimByte2 & 0x0f;
upperByte2 |= upperByte;
lowerByte2 |= lowerByte; cipherBytes[i * 2] = 0x4e;
cipherBytes[i * 2 + 1] = Convert.ToByte(upperByte2);
cipherBytes[(i + 1) * 2] = 0x4f;
cipherBytes[(i + 1) * 2 + 1] = Convert.ToByte(lowerByte2);
}
return UnicodeEncoding.BigEndianUnicode.GetString(cipherBytes, 0, cipherBytes.Length);
}

解密:

/// <summary>
/// 对字符串进行解密
/// </summary>
/// <param name="proclaimText"></param>
/// <returns></returns>
public static string DoProclaimText(string CipherText)
{
if (CipherText.IsEmpty()) return CipherText; byte[] cipherBytes = UnicodeEncoding.BigEndianUnicode.GetBytes(CipherText);
int cipherBytesCount = cipherBytes.Length; byte[] proclaimBytes = new byte[cipherBytesCount / 2]; for (int i = 0; i < cipherBytesCount; i += 4)
{
byte cipherByte1 = cipherBytes[i + 1];
byte cipherByte2 = cipherBytes[i + 3]; int lowerByte = (cipherByte1 & 0x0f) << 4;
int upperByte = cipherByte1 & 0xf0; int lowerByte2 = cipherByte2 & 0x0f;
int upperByte2 = (cipherByte2 & 0xf0) >> 4; proclaimBytes[i / 2] = Convert.ToByte(lowerByte | upperByte2);
proclaimBytes[i / 2 + 1] = Convert.ToByte(upperByte | lowerByte2);
}
return UnicodeEncoding.BigEndianUnicode.GetString(proclaimBytes, 0, proclaimBytes.Length);
}

最新文章

  1. ubuntu系统lamp环境搭建、数据库迁移、设置数据库外部访问
  2. C# Enum 进行逻辑运算
  3. 网站如何启用SSL安全证书?IIS7启用新建Https:/
  4. DESCryptoServiceProvider加密、解密
  5. Multiplication Puzzle
  6. SGU 149. Computer Network( 树形dp )
  7. qt博客
  8. 移动端自动化自动化(Android&amp;iOS)——Appium
  9. Servlet的理解
  10. scala打包jar并在Linux下运行
  11. mysql中utf8和utf8mb4区别
  12. Centos7 设置、查看、添加、删除服务的开机启动项
  13. mac 安装 RabbitMQ
  14. spring定时,cronExpression表达式解释
  15. springcloud的Turbine配置监控多个服务的一些坑!!!!InstanceMonitor$MisconfiguredHostException,No message available&quot;,&quot;path&quot;:&quot;/actuator/hystrix.stream,页面不显示服务或者一直loading
  16. Forms in Angular 2
  17. PHP的memory_limit引起的问题
  18. Linux安装设置VNC远程桌面
  19. Iterator和ListIterator的区别 ---面试题
  20. 通过web php 执行shell脚本,获取的结果与直接在命令行下获取的结果不同。

热门文章

  1. 【学习笔记】C++文件操作详解(ifstream、ofstream、fstream)
  2. Eclipse--java.lang.OutOfMemoryError: PermGen space
  3. html归纳
  4. Node + Express + MySQL 接口开发完整案例
  5. docker 镜像管理操作
  6. centos下安装nodejs的三种种方式
  7. 一丶webservice执行存储过程
  8. Linux制作本地yum
  9. h5 页面 禁止网页缩放
  10. Python-接口自动化(十一)