cryptographic-hash-function相关内容

MD5 是 128 位,但为什么是 32 个字符?

我阅读了一些关于 md5 的文档,它说它是 128 位,但为什么它是 32 个字符?我无法计算字符. 1 字节为 8 位 如果 1 个字符是 1 个字节 那么 128 位就是 128/8 = 16 字节,对吗? 编辑: SHA-1 产生 160 位,那么有多少个字符? 解决方案 32 个字符作为十六进制表示,即每字节 2 个字符. ..
发布时间:2022-01-10 10:29:05 其他开发

MD5 哈希和 Base64 编码

如果我有一个 32 个字符的字符串(一个 MD5 哈希)并且我使用 Base64 对其进行编码,那么编码字符串的最大长度是多少? 解决方案 在 Base64 表示法中,MD5 值始终为 22(有用)字符.许多 Base64 算法在编码 MD5 散列时还会附加 2 个填充字符,使总数达到 24 个字符.填充没有添加有用的信息,可以丢弃.只有前 22 个字符很重要. 原因如下: M ..

单向哈希函数如何工作?(已编辑)

我阅读了有关 md5 哈希的 Wikipedia 文章,但我仍然无法理解如何无法将哈希“重构"回原始文本. 有人可以向对密码学知之甚少的人解释这是如何工作的吗?函数的哪一部分使它成为单向的? 解决方案 既然到现在大家都简单的定义了hash函数是什么,那我就咬咬牙. 单向函数不仅仅是一个散列函数——一个丢失信息的函数——而是一个函数f,给定一个图像y ("SE"或现有答案中的 2 ..
发布时间:2022-01-10 09:50:41 其他开发

C# SHA-1 与 PHP SHA-1 ...不同的结果?

我正在尝试从字符串计算 SHA-1 哈希,但是当我使用 php 的 sha1 函数计算字符串时,我得到的结果与我在 C# 中尝试时不同.我需要 C# 来计算与 PHP 相同的字符串(因为来自 php 的字符串是由我无法修改的第 3 方计算的).如何让 C# 生成与 PHP 相同的哈希?谢谢!!! 字符串 = s934kladfklada@a.com C# 代码(生成 d32954053 ..
发布时间:2022-01-10 09:49:21 PHP

为什么 MD5 哈希值不可逆?

我一直想知道的一个概念是加密哈希函数和值的使用.我知道这些函数可以生成一个独一无二且几乎不可能逆转的哈希值,但这是我一直想知道的: 如果在我的服务器上,我用 PHP 生成: md5("stackoverflow.com") = "d0cc85b26f2ceb8714b978e07def4f6e" 当您通过 MD5 函数运行相同的字符串时,您会在 PHP 安装中获得相同的结果.一个过程被用 ..
发布时间:2021-12-27 16:08:04 其他开发

如何在 Java 中使用 sha256 散列一些字符串?

如何在 Java 中使用 sha256 散列一些字符串?有人知道有什么免费的图书馆吗? 解决方案 SHA-256 不是“编码"- 这是一种单向哈希. 您基本上会将字符串转换为字节(例如使用 text.getBytes(StandardCharsets.UTF_8)),然后对字节进行哈希处理.请注意,散列的结果也是任意的二进制数据,如果你想用字符串表示它,你应该使用 base64 或十 ..
发布时间:2021-11-25 16:27:48 Java开发

如何在 Java 中散列密码?

我需要散列密码以存储在数据库中.我如何在 Java 中执行此操作? 我希望采用纯文本密码,添加随机盐,然后将盐和散列密码存储在数据库中. 然后当用户想要登录时,我可以获取他们提交的密码,从他们的帐户信息中添加随机盐,对其进行哈希处理,看看它是否与存储的哈希密码和他们的帐户信息相同. 解决方案 您实际上可以使用内置于 Java 运行时的工具来执行此操作.Java 6 中的 Sun ..
发布时间:2021-11-25 12:17:30 Java开发

如何在 Java 中散列密码?

我需要散列密码以存储在数据库中.我如何在 Java 中执行此操作? 我希望采用纯文本密码,添加随机盐,然后将盐和散列密码存储在数据库中. 然后当用户想要登录时,我可以获取他们提交的密码,从他们的帐户信息中添加随机盐,对其进行哈希处理,看看它是否与存储的哈希密码和他们的帐户信息相同. 解决方案 您实际上可以使用内置于 Java 运行时的工具来执行此操作.Java 6 中的 Sun ..
发布时间:2021-11-19 23:01:06 Java开发

生成k个成对的独立哈希函数

我正在尝试在Scala中实现 Count-Min Sketch 算法,并且所以我需要生成k个成对的独立哈希函数. 这是一个比我以前编写的程序都要低的级别,并且我对除算法类之外的哈希函数了解不多,所以我的问题是:如何生成这k个成对的独立哈希函数?/p> 我应该使用MD5或MurmurHash之类的哈希函数吗?我是否只生成了f(x) = ax + b (mod p)形式的k个哈希函数,其中p是 ..
发布时间:2020-06-17 19:32:16 其他开发

仍然使用md5或sha1进行有效的密码哈希处理吗?

现在我正在从事一个金融项目.在这里,团队正在考虑对password hashing使用MD5. 但是,今天很容易复制SHA1或MD5密码以进行解密,如果它们是复杂的密码(包括以下内容),则包括在内: My$uper$ecur3PAS$word+448,您可能会使用在线页面对其进行解密并存在. 中小型开发人员(包括我在内)使用这些hashing methods,但我认为不足以为数据库提供安全性. ( ..

单向哈希函数如何工作? (已编辑)

我阅读了Wikipedia上有关md5散列的文章,但我仍然不明白如何将散列“重构"回原始文本. 有人可以向对密码学知之甚少的人解释这是如何工作的吗?函数的哪一部分使其成为单向? 解决方案 由于到目前为止每个人都仅定义了哈希函数,所以我会咬一口. 单向函数不仅是散列函数(会丢失信息的函数),而且是函数f,为此,给定图像y(现有答案中为"SE"或294),很难找到像f(x)=y这样 ..
发布时间:2020-05-08 00:27:15 其他开发

如何在Java中哈希密码?

我需要哈希密码以存储在数据库中。我怎么能用Java做到这一点? 我希望获取纯文本密码,添加随机盐,然后将salt和散列密码存储在数据库中。 然后,当用户想要登录时,我可以提取他们提交的密码,从他们的帐户信息中添加随机盐,哈希并查看它是否等于存储哈希密码及其帐户信息。 解决方案 您实际上可以使用Java运行时内置的工具来执行此操作。 Java 6中的SunJCE支持PBKDF2, ..
发布时间:2018-11-26 12:27:17 Java开发