相关疑难解决方法(0)

如何生成MD5哈希?

是否有任何方法可以在Java中生成字符串的MD5哈希?

java hash md5 hashcode

977
推荐指数
27
解决办法
99万
查看次数

GUID和UUID之间有什么区别吗?

我看到这两个缩略词被抛出,我想知道GUID和UUID之间是否有任何区别?

uuid guid

833
推荐指数
4
解决办法
20万
查看次数

如何创建确定性指导

在我们的应用程序中,我们使用具有Guid值的属性创建Xml文件.该值必须在文件升级之间保持一致.因此,即使文件中的其他内容发生更改,该属性的guid值也应保持不变.

一个显而易见的解决方案是创建一个静态字典,其中包含文件名和用于它们的Guids.然后每当我们生成文件时,我们都会在字典中查找文件名并使用相应的guid.但这不可行,因为我们可能会扩展到100个文件并且不想保留大量的guid.

所以另一种方法是根据文件的路径使Guid相同.由于我们的文件路径和应用程序目录结构是唯一的,因此Guid对于该路径应该是唯一的.因此,每次我们运行升级时,文件都会根据其路径获得相同的guid.我找到了一种很酷的方法来产生这样的' 确定性指导 '(感谢Elton Stoneman).它基本上是这样的:

private Guid GetDeterministicGuid(string input) 

{ 

//use MD5 hash to get a 16-byte hash of the string: 

MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider(); 

byte[] inputBytes = Encoding.Default.GetBytes(input); 

byte[] hashBytes = provider.ComputeHash(inputBytes); 

//generate a guid from the hash: 

Guid hashGuid = new Guid(hashBytes); 

return hashGuid; 

} 
Run Code Online (Sandbox Code Playgroud)

所以给定一个字符串,Guid将始终是相同的.

有没有其他方法或建议的方法来做到这一点?该方法的优点或缺点是什么?

.net c# uuid guid

96
推荐指数
4
解决办法
3万
查看次数

单向散列函数如何工作?

我阅读了有关md5哈希的维基百科文章,但我仍然无法理解哈希如何不能"重构"回到原始文本.

有人可以向对密码学知之甚少的人解释这是如何工作的吗?该功能的哪一部分使其成为单向的?

md5 cryptography cryptographic-hash-function

33
推荐指数
6
解决办法
4万
查看次数

基于字符串生成 Guid

我们想根据一些随机字符串生成一个 Guid。目标是使给定字符串的 Guid 始终相同。

需要说明的是,我的字符串没有格式化为 guid,它可能是“Toto”,即“asdfblkajsdflknasldknalkvkndlskfj”。

我知道这会生成一些与我的输入字符串一样独特的 Guid,但这不是这里的问题。

.net c# guid

4
推荐指数
1
解决办法
2830
查看次数

.NET C# 中对象或其属性的确定性 UUID / 哈希

我需要一种方法来跨 .NET 框架/环境/执行一致地生成给定对象或对象属性子集的唯一 ID,同时最大限度地减少冲突。

  • 一遍又一遍地使用相同的属性应该总是产生相同的结果
  • 碰撞应该是最小的
  • 这些属性是字符串、整数和小数的混合
  • 属性值不是敏感数据
  • 不会添加或删除属性
  • 使用它的应用程序只是内部的(不向公众开放)
  • 我不想依赖 GetHashCode,它可能会因 .NET 框架/环境/执行而异,如andrewlock.net 上这篇精彩文章中所述
    • 他提出了一种可能的方法,但没有提供有关现实世界使用的太多信息

例如,给定一个固定对象,例如

public class ExampleObject
{
    public string Prop1 { get; set; }
    public string Prop2 { get; set; }
    public int Prop3 { get; set; }
    public decimal Prop4 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我正在考虑将所有值转换为字符串,连接它们,然后使用一些确定性算法来获得所需的结果

// Convert all values to strings and concat
string str1 = "a";
string str2 = "b";
int int1 = 1;
decimal dec1 = 1.2m;
string concatStr …
Run Code Online (Sandbox Code Playgroud)

.net c# hash

2
推荐指数
1
解决办法
2966
查看次数

标签 统计

.net ×3

c# ×3

guid ×3

hash ×2

md5 ×2

uuid ×2

cryptographic-hash-function ×1

cryptography ×1

hashcode ×1

java ×1