问题标签 [whirlpool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3468 浏览

java - Jacksum NoSuchAlgorithmException

我正在尝试使用 Jacksum API生成 Whirlpool hash,但我得到了 NoSuchAlgorithmException:

我尝试了其他流行的算法(sha256、md5),它们显然都“不是这样的”。

编辑:我添加了try-catch,现在它实际上得到了错误。

0 投票
1 回答
2633 浏览

java - Java漩涡散列

我发现自己需要在 Java 中散列一些东西,因为我不理解散列,所以我在这里。

我已经发现没有简单的方法。

所以我的问题是:如何在 Java 中完成漩涡散列?

编辑:有人建议我使用 GNU Whirlpool,但我无法让它工作

输出是: <?R??XF ????n?g?Tl??H?po??????? m? 5?F ?? y?QhTM?|?I??? 我错过了什么吗?还是我不明白它是如何工作的?

解决:该digest方法似乎输出原始字节数据。我使用Apache 通用编解码器库中的方法将其转换为 HEX 格式。

0 投票
4 回答
166 浏览

php - PHP 安全性 - 当散列密码被破坏时检查用户帐户

目前我只是在玩 PHP,但我遇到了一个我想扩展的想法,并且需要知道它在您看来有多安全,以及我如何改进它以使其可以被实际使用。

这就是我在数据库中存储密码的方式:

纯文本密码-> 哈希密码(我使用漩涡,但任何方法实际上都可以)-> 随机/加扰哈希密码(使用 str_shuffle() 函数)。

我像这样将用户密码存储在数据库中,以确保如果数据库受到破坏,攻击者将无法反转数据库内损坏的密码哈希。(因为从某种意义上说,您如何反转曾经是散列的随机文本?-尽管我确信您可以通过比较共享相同字符的散列列表来创建可能性列表。)

我检查他们在登录表单上输入的用户密码是否正确(与数据库中损坏的哈希相比)的方法是计算两个字符串/密码中的单个字母+数字(af & 0-9),看看是否他们匹配,如果匹配,我假设他们正确登录。

再一次,我想知道您认为这有多安全,以及如何改进它以使其在实际使用中可以接受。(如果可能的话。)&我也想尽我所能避免“可逆”哈希。(即创建我自己的方法来确保密码匹配的想法,我想让它更像是一个最佳猜测假设,以完全帮助确保攻击者不可能反转数据库中的密码。

是的,我知道这很愚蠢,因为它很可能会导致更多的安全漏洞,而不是帮助修复它们。但这只是我在玩弄的东西,也许希望使它实用。


其他信息:

1) 密码用唯一的盐存储(所以不是 1 个帐户共享相同的盐)

2)密码盐总是在变化(每次用户帐户成功登录时,它都会更改数据库中的用户盐。我这样做是为了更改数据库中的哈希值,从而减少密码冲突的频率(希望) 以及防止不需要的用户多次使用相同的错误密码登录(如果他们设法遇到一个,实现此目的的唯一方法是通过暴力破解或“猜测”,任何登录系统都容易受到攻击)。

当我说密码冲突时,我的意思是“你好”和“蓝色”这个词有最小的机会共享相同的确切字符数(正如我解释的那样,我计算了单个字符 + 数字,并比较它们,假设它是正确的密码.)

3) 我也可能会保留散列密码的前 3 个字符/数字不受 str_shuffle 的影响,以帮助确保密码正确。(通过创建 2 个检查,1)检查两个字符串是否共享相同的 FIRST 3 CHARS/Numbers & 2)然后比较每个字符串中的字符数。(希望再次减少密码冲突)。

4) 显然将添加其他安全措施(即最大登录尝试次数、验证码等。以帮助防止自动暴力破解,使黑客更难找到可能的密码或真实密码。

我已经成功地完成了这个 PoC,它就像一个魅力,虽然我还没有针对字典攻击/蛮力攻击测试 PoC,以查看密码冲突的可能性。& 他们的频率。

如果我说了很多“无用”的信息,请忽略它。我只是尽力合理地解释这一点。

0 投票
1 回答
604 浏览

php - 如何检查用户输入的密码是否与漩涡哈希匹配?

我最近才开始研究密码加密。我当前的代码如下所示:

如何检查用户输入的密码是否正确?我假设有某种内置函数接受盐、哈希和加密方法的参数并返回一个布尔值。

另外,产生盐的最安全方法是什么?我目前的盐是静态的,对每个用户来说都是一样的。我应该做类似的事情吗

如果这样做,我是否不必为每个用户将时间戳存储在数据库中。这不是安全漏洞吗?

我迷路了....请建议散列和检查密码的最佳方法。一个脚本会很好看:) 这个问题也可能是重复的,如果是这样,我很抱歉

0 投票
1 回答
2009 浏览

php - 检查用户名/密码是否与用户名/加密密码匹配。漩涡加密和盐

我刚刚开始学习 php,并决定让自己接受编写注册和登录脚本的挑战。

我不确定如何继续。现在,在你搜索我的代码之前......请不要成为一个关于 sql 注入和 bobby 表的人。我明白了,但目前还没有看。

无论如何,我用漩涡和盐加密了密码。目前盐是静态的,不确定如何使用 Time() 函数实现一个,并且不通过在数据库中定位它来破坏目的。我要解决的问题是如何检查用户输入的用户名和密码是否与用户名和哈希密码匹配。

这是我当前的代码,我假设最重要的部分将在 login.php 文件中。



真的,这个问题可能很简单,但我想我会包含我当前的代码,以便人们可以从中学到一些东西。

给定盐或其他内容,您如何解密散列密码。就像我说过的,我不确定它是如何完成的。

我的数据库信息,如果你没有在 connect.php 文件中看到的话是:

这些代码也可以在此处作为 pastebin 轻松获得:

连接.php:http : //pastebin.com/8ft12kG5

索引.php:http : //pastebin.com/TqrJhzdu

login.php: http: //pastebin.com/9fR3HJhe

0 投票
2 回答
1125 浏览

php - 这是矫枉过正吗?漩涡密码加密的动态盐加密

我想当谈到漩涡中的密码加密时,我可能已经产生了一些矫枉过正的盐。

这就是盐生成代码的作用,一步一步

  1. 生成一个长度为 10 的伪随机字符串,它具有以下可能值:

    0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

  2. 大气噪声会产生一个从 -2 到 123 的真正随机数

  3. 这个伪随机字符串和完全随机数与 unix 时间戳一起打乱。
  4. 然后用 md5 加密这个 pre-salt。

那只是盐的生成,我也在漩涡中加密了整个东西

我的代码中是否存在安全漏洞?我应该在它们加入之前或之后对值进行 md5 散列吗?

这是我要检查的代码...

另外,盐应该放多长时间?我个人认为散列它的其他类型的字符并不那么重要,因为没有人蛮力强迫整个,我不认为。就这样!提前致谢。此外,任何更好或更有效的方法都会有所帮助。

0 投票
2 回答
30 浏览

php - 与我的加密相关的查询

所以我有一个登录系统,并且我使用了一些安全措施来确保它的安全。首先我给我的密码加盐:

接下来我使用漩涡算法对其进行哈希处理:

这是将返回并存储在数据库中的密码示例:

现在我的问题是: 如果黑客能够恢复上面的那个长字符串,他们是否能够以某种方式反转/解密它以返回实际密码。让我知道你们的想法/知道,这不可能吗?

这不是人们向我建议其他事情的线程,请保持与单个问题严格相关的答案。

0 投票
2 回答
289 浏览

java - Java 和 Php 返回不同的哈希值

所以,PHP代码:

爪哇:

结果变量是不同的。我需要 java 类返回与 php 相同的值。我将密码存储在 PHP 生成的 MySQL DB UTF-8 编码中,需要将其与 JavaFX 应用程序发送的数据进行比较。

当然,我可以发送未加密的密码,并使用 php 进行,但我不想这样做。

0 投票
2 回答
652 浏览

java - 如何创建漩涡/漩涡效果?

我试图对作为传感器的圆形体产生涡流效果。我一直在寻找这个,我寻找的所有示例都是用 C++ 或 Objective C 编写的,我似乎没有很好地翻译它们。

当我的对象碰撞时,它调用 beginContact(..) 并设置一个标志,以便我可以调用 bodyToUpdate.applyForce(...);

如何计算施加每一帧以使其成为漩涡的力的大小?

编辑:

所以我现在让物体直接进入漩涡的中心,但没有“旋转”

0 投票
1 回答
172 浏览

encryption - 寻找相似的哈希

我试图找到 2 个不同的纯文本词,它们创建了非常相似的哈希值。

我正在使用散列方法“漩涡”,但我真的不需要在案例或漩涡中回答我的问题,如果您可以使用 md5 或更简单的方法就可以了。

我正在寻找的相似之处是它们包含相同数量的字母(不管它们有多少杂音)

即明文'test'哈希1:abbb5有1个a,3个b,一个5明文'blahblah'哈希2:b5bab必须相同,但顺序无关紧要。

我确信我可以阅读它们是如何创建的并将其分解并反转它,但我只是想知道我所说的是否会发生。

我想知道,因为我还没有找到我正在解释的匹配项(我创建了一个 PoC 来运行随机单词/字母,直到它重新创建了一个类似的匹配项),但话又说回来,我需要永远这样做是东它。并且想知道是否有真正了解哈希/加密的人会帮助我。