gpt4 book ai didi

java - 如何在 Java 中将 "hash"长字符串转换为 String[64]

转载 作者:行者123 更新时间:2023-11-29 04:20:43 26 4
gpt4 key购买 nike

我有一个使用 MySQL 数据库的 Java 应用程序。

我希望能够存储长文本并检查表是否包含它们。为此,我想使用索引,并通过减少全文的“散列”进行搜索。

MY_TABLE [
full_text: TEXT
text_hash: varchar(255) - indexed
]

问题是,我不能将 String.hashCode() 用作:

  1. 实现可能因 JVM 版本而异。
  2. 值太短,这意味着很多冲突。

我想找到一个快速的散列函数,它将读取长文本值并为其生成一个长散列值,比如 64 个符号长。

最佳答案

这种可靠的哈希方法并不快。不过,它们可能足够快。您正在寻找一种加密消息摘要方法(例如用于识别 P2P 网络中的文件或 Git 中的提交的方法)。寻找 MessageDigest类,然后选择您的算法(SHA1、MD5、SHA256 等)。

这样的哈希函数将字节作为参数,并生成字节作为结果,因此请确保使用常量编码(例如 UTF8)转换字符串,并转换生成的字节数组(通常为 16 或20 个字节)到使用十六进制或 Base64 编码的可读字符串。

关于java - 如何在 Java 中将 "hash"长字符串转换为 String[64],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24959804/

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