Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在dotnet中生成唯一发票跟踪_Asp.net Mvc_Cryptography_Tracking_Salt_Saltedhash - Fatal编程技术网

Asp.net mvc 在dotnet中生成唯一发票跟踪

Asp.net mvc 在dotnet中生成唯一发票跟踪,asp.net-mvc,cryptography,tracking,salt,saltedhash,Asp.net Mvc,Cryptography,Tracking,Salt,Saltedhash,我需要生成一个长度只有10位的唯一跟踪编号 我在谷歌上搜索了stackoverflow中唯一有用的文章 但这不是网络代码。我试图找到一种方法来写这段代码的.net等价物,但我做不到 >>> int(hashlib.sha256(str(1) + "!salt!").hexdigest()[:13], 16) 1269883740611281 >>> int(hashlib.sha256(str(2) + "!salt!").hexdigest()[:13],

我需要生成一个长度只有10位的唯一跟踪编号

我在谷歌上搜索了stackoverflow中唯一有用的文章

但这不是网络代码。我试图找到一种方法来写这段代码的.net等价物,但我做不到

>>> int(hashlib.sha256(str(1) + "!salt!").hexdigest()[:13], 16)
1269883740611281
>>> int(hashlib.sha256(str(2) + "!salt!").hexdigest()[:13], 16)
3655373802716929

有人能帮我吗?

我不知道您在那里使用的代码为什么使用哈希。散列值不是唯一的。散列在这里似乎被误用为随机数生成器。相反,直接使用RNG:

new Random().Next(1000 * 1000 *1000, 1000 * 1000 *1000 * 10).ToString()
您可以使用web搜索找到一种加密功能强大的方法来生成该范围内的随机数


您还可以使用字母来获得更多可能的跟踪代码。

仅包含10位数字。伟大的给你:1.000.000.000-9.999.999.999。享受。在asp.net中有您所说的GUID。GUID不适合用作发票跟踪编号。那么,您为什么不存储当前发票跟踪编号,然后从1.000.000.000开始,通过添加1上升到9.999.999.999。太傻了,这些都是10位数。3655373802716929和1269883740611281是不可预测的。