Hash 在C中从128位散列到16/18位?

Hash 在C中从128位散列到16/18位?,hash,c,Hash,C,我们必须将128位唯一数字转换为16/18位唯一数字。在C语言中是否有任何哈希技术,或者其他任何可能的方法来实现这一点?您询问的是一个特定的编程问题(即为您执行此操作的代码或库),这与本文无关。如果你想问一个算法,它会在主题上。我想知道是否有任何算法用于散列。你可以使用任何加密散列,如md5,sha1。。。只需删除所有不需要的字节。当然,可能存在冲突,因为您正在从128位减少到16/18位。根据您的需要,还可以使用其他(非加密)哈希,但这些不是信息安全的主题。在速度、抗还原性等方面存在差异。最佳

我们必须将128位唯一数字转换为16/18位唯一数字。在C语言中是否有任何哈希技术,或者其他任何可能的方法来实现这一点?

您询问的是一个特定的编程问题(即为您执行此操作的代码或库),这与本文无关。如果你想问一个算法,它会在主题上。我想知道是否有任何算法用于散列。你可以使用任何加密散列,如md5,sha1。。。只需删除所有不需要的字节。当然,可能存在冲突,因为您正在从128位减少到16/18位。根据您的需要,还可以使用其他(非加密)哈希,但这些不是信息安全的主题。在速度、抗还原性等方面存在差异。最佳方法取决于您的具体用例,而您的问题中没有包括这些用例。这个问题在这里是非常离题的(因为您要求非现场参考,所以几乎可以在堆栈交换网络的任何位置找到)。幸运的是,你可以在这个相当古老的网站上找到有趣的提示。或者你可以在谷歌上搜索散列函数或散列库……你要求将一个128位的唯一数字转换成一个16/18位的唯一数字。在常规设置中,这是不可能的,因为(128位数字比16/18位数字多得多)。您询问的是一个特定的编程问题(即为您执行此操作的代码或库),而该问题在这里是离题的。如果你想问一个算法,它会在主题上。我想知道是否有任何算法用于散列。你可以使用任何加密散列,如md5,sha1。。。只需删除所有不需要的字节。当然,可能存在冲突,因为您正在从128位减少到16/18位。根据您的需要,还可以使用其他(非加密)哈希,但这些不是信息安全的主题。在速度、抗还原性等方面存在差异。最佳方法取决于您的具体用例,而您的问题中没有包括这些用例。这个问题在这里是非常离题的(因为您要求非现场参考,所以几乎可以在堆栈交换网络的任何位置找到)。幸运的是,你可以在这个相当古老的网站上找到有趣的提示。或者你可以在谷歌上搜索散列函数或散列库……你要求将一个128位的唯一数字转换成一个16/18位的唯一数字。在常规设置中,这是不可能的,因为存在(128位数字比16/18位数字多得多)。