c# - 从coldfusion验证在c#中加密的密码
问题描述
我需要通过 Coldfusion 中的用户定义函数在 C# 中加密的密码(或以相同的方式加密原始密码,无论是最简单的方法)。下面是使用的c#函数
private static byte[] key = { };
private static byte[] IV = { 38, 55, 206, 48, 28, 64, 20, 16 };
private static string stringKey = "xxxxxxxxxxxxxxxxxxxxxxxx";
public static string Md5Encrypt(string password)
{
string empty = string.Empty;
string str;
try
{
Helpers.key = Encoding.UTF8.GetBytes(Helpers.stringKey.Substring(0, 8));
DESCryptoServiceProvider cryptoServiceProvider = new DESCryptoServiceProvider();
byte[] bytes = Encoding.UTF8.GetBytes(password.ToString());
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream((Stream) memoryStream, cryptoServiceProvider.CreateEncryptor(Helpers.key, Helpers.IV), CryptoStreamMode.Write);
cryptoStream.Write(bytes, 0, bytes.Length);
cryptoStream.FlushFinalBlock();
str = Convert.ToBase64String(memoryStream.ToArray()).Replace("+", "-").Replace("/", "_");
}
catch (Exception ex)
{
return "";
}
return str;
}
解决方案
推荐阅读
- postgresql - 基于 CTE 将多行插入“每组一个”表违反了唯一索引
- javascript - 如何在表格布局中从中心过渡宽度/高度
- html - 波纹效果纯css透明
- kubernetes - 无法在新创建的 GKE 集群上初始化 helm(tiller)
- r - 如何创建一个存储 data.frames 的对象,并允许使用 '.' 检索它们?
- selenium - 并行执行多次单硒测试
- python - 尝试通过 Python 使用 PostgreSQL 数据更新 google sheet 时出错
- jsf - 在 Menu 中设置值并在 Dialog 中显示
- c# - 用于 DB 调用的带有 Task.Run 方法的异步等待
- kubernetes - 使 Traefik 将 HTTP BAN 请求路由到与常规 HTTP 请求不同的服务或端口