gpt4 book ai didi

无序字符串集的良好哈希函数?

转载 作者:行者123 更新时间:2023-12-05 05:38:53 24 4
gpt4 key购买 nike

是否有多个无序字符串集合的方法,其中字符串元素是相同的。例如:

set1 = [ "ab3567cd", "123", "789012"]

set2 = [ "789012", "ab3567cd", "123"]

set3 = [ "123", "789012", "ab3567cd"]

并且散列这些集合返回相同的结果而不对它们进行排序。

有没有这样的哈希函数?

最佳答案

如果不对它们进行排序以使其具有相同的位置,您将始终获得不同的哈希值。

这总是不同的字符串:

ab3567cd 123 789012

789012 ab3567cd 123

123 ab3567cd 789012

Do identical strings always have the same SHA-256 value?

What is a Hashing Algorithm and How Does it Work?

How does file hashing works?

更新:

有两种解决方案,但我现在不知道这是不是正确的方法。

这只是一个逻辑示例,它可能不是正确的函数/计数方式!

  1. 解决方案

如果我用正确的函数计算集合的值。

set1 = [ "ab3567cd", "123", "789012"]

计数:

 "ab3567cd" (+ or *) "123" (+ or *) "789012" = RESULT_VALUE

比起对 RESULT_VALUE 进行哈希处理,您将始终获得 set1、set2 和 set3 的相同哈希值。

RESULT_HASH = HASH(RESULT_VALUE)
  1. 解决方案

set1 = [ "ab3567cd", "123", "789012"]

create hash1 from "ab3567cd"

create hash2 from "123"

create hash3 from "789012"

计数:

hash1 (+ or *) hash2 (+ or *) hash3 = RESULT_VALUE

比起对 RESULT_VALUE 进行哈希处理,您将始终获得 set1、set2 和 set3 的相同哈希值。

RESULT_HASH = HASH(RESULT_VALUE)

这个逻辑示例适用于所有可以散列的语言。

关于无序字符串集的良好哈希函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72826835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com