我正在尝试将包含MD5哈希值和关键字(每行一个)的文本文件输入到C#应用程序中.有没有办法检查字符串是否是MD5哈希?我查看了MSDN,在MD5类中找不到任何内容.
THX*_*138 18
像这样使用正则表达式:
public static bool IsMD5(string input)
{
if (String.IsNullOrEmpty(input))
{
return false;
}
return Regex.IsMatch(input, "^[0-9a-fA-F]{32}$", RegexOptions.Compiled);
}
Run Code Online (Sandbox Code Playgroud)
好吧,MD5哈希实际上只是二进制数据 - 如果你有一个字符串,那么它可能以某种方式编码,例如base64或hex.您可以测试字符串是否正确编码为正确长度的二进制(16字节).尽管如此 - 尽管可能存在二进制值,这些值永远不会是散列任何数据的结果,但我非常怀疑您是否可以识别这些值.理想情况下,当然不应该有这样的价值观......
MD5哈希值是128位值.它通常表示为byte[]长度为16,或者string表示每个字节由两个十六进制数字表示.MD5哈希没有内部结构或任何类型的"签名",允许您检测128位值是否为MD5哈希值.
| 归档时间: |
|
| 查看次数: |
6750 次 |
| 最近记录: |