问题标签 [blowfish]
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.
c++ - Blowfish 加密后的字符串长度不正确
我用 Blowfish 编码做了一些测试,并注意到了一些东西。编码字符串并不总是与源字符串一样长。有时更短。
如果我想解码一个编码字符串,我需要在 openssl 函数中解码的长度:
这里的问题是我没有length_to_decode
如果我不知道源字符串的长度。如果我使用解码字符串的长度作为 length_to_decode 那么这可能太短了。
如果我使用更大的长度,则解码的字符串不正确。那么我需要知道用河豚编码解码的长度吗?
在互联网上的所有示例代码中,编码和解码总是发生在一个函数中,并且解码示例使用硬编码长度进行解码。但在现实生活中我不知道编码字符串的长度,然后呢?
这是一个例子:
我像这样初始化我的密钥:
c++ - 在河豚加密哈希中查找盐
这是一个非常基本的问题。我已经为此寻求帮助,但找不到任何具体的答案。因此,我在这里专门问它。
用例是,我想找到引用可用哈希列表的弱密码。为此,我必须将每个已知/常用词的哈希值与可用哈希值进行比较。所有这些都是在 C++ for Unix 中使用 openssl/blowfish.h 完成的
但是,要创建这个猜测词的散列,需要使用与密码散列相同的盐来生成。
我的问题是如何从密码哈希中提取盐。假设,以下是我的哈希:
$2a$10$FTx8T5QrEbxYVe.NJ6iOhuei.V9qgl60xF8/8s7iZRDIlOl.ibDEW
这里面的盐是什么?或者我怎样才能实现目标?任何指针都会很棒!!
提前致谢。
ruby - Ruby 河豚最后一位数字的差异
我有一些来自 API 提供商的 testdata 密钥/文本/加密,现在正尝试使用下面的函数产生相同的加密结果,但我的结果偏离了提供的 241 位数字中的最后 16 位。你有什么想法,可能是什么原因?我确保“bf-ecb”是正确的模式,并尝试了 url 编码,但到目前为止没有成功。
更新
还尝试解密示例结果会导致 OpenSSL::Cipher::CipherError "bad decrypt"
php - actionscript 3 中的河豚加密
我想屏蔽嵌入代码中的字符串值。我想我可以使用 Blowfish 或类似的东西对其进行加密。我不在乎这不安全。基本上我不希望有人从我的嵌入代码中复制加密字符串并获得结果。所以我想加点盐会让它更难。至少他们必须反编译我的 swf 才能得到盐。
我查看了 as3cryto 的谷歌代码,似乎无法弄清楚如何编写它。我怀疑我必须导入类...不确定要导入哪个类,也不确定调用河豚加密和解密函数的语法是什么。
是否有 as3 河豚解密和加密的示例?我进行了搜索,只发现有人基于 as3crypto 修改和编写自己的类。我确定这是一条简单的线,但我没有看到任何示例来确定它。
我将使用 php 生成加密字符串,然后使用 as3 对其进行解密以获取我需要在我的 flash 文件中使用的字符串。
谢谢。
ruby-on-rails - Rails-devise:生成 encrypted_password 值(用于测试用户)
为了测试我的 Rails/Devise 应用程序,我想创建 100 个用户并以他们的身份登录。
我尝试了以下方法:
对于encrypted_password
,我只是从另一个密码为的用户那里复制了值testtest
问题:我无法test1@example.com
使用密码登录testtest
我怀疑encrypted_password
有盐,我需要一个工具来生成它。config.encryptor
是bcrypt
。我安装了 bcrypt (Linux),但手册页很短,只解释了如何加密文件,所以我猜它不是最方便的加盐密码的工具。
如何快速创建 100 个加盐密码?
比注册 100 次还要快。
php - 通过 PHP 在 openfire MySQL 中创建加密密码
Openfire 使用河豚加密将加密密码存储在数据库中。
http://svn.igniterealtime.org/svn/repos/openfire/trunk/src/java/org/jivesoftware/util/Blowfish.java是用于加密/解密函数如何在 openfire 中工作的 java 实现。
我的目标是通过 PHP 和 MySQLI 在数据库中创建新的用户条目。我尝试过的所有变体都产生了与数据库中已经存在的结果不匹配的结果。例如:
d3f499857b40ac45c41828ccaa5ee1f90b19ca4e0560d1e2dcf4a305f219a4a2342aa7364e9950db
是加密密码之一。明文,这是stackoverflow
我尝试了一些变化:
与 java 和 .net 相比,另一个基于mcrypt blowfish php 的结果略有不同
任何聪明的想法,或任何明显的问题?我只是想Blowfish.encryptString()
按照这个问题的第一个链接中的引用来实现。
c++ - C++ Blowfish 散列实现
许多脚本语言(Python/PHP/等...)包括允许您使用 Blowfish 作为密码的单向哈希的功能(有时通过扩展)。我正在尝试为 C++ 找到类似的实现,但我遇到的一切都是加密/解密解决方案。
有人可以推荐一个提供相同功能的 C++ 库吗?
java - 在 java 中使用河豚时出现 javax.crypto.IllegalBlockSizeException
javax.crypto.IllegalBlockSizeException:doFinal 方法抛出 7 个尾随字节。问题是什么?最有趣的是——无论关键字符串有多长,异常总是相同的——7 个尾随字节。
php - 为什么我的 PHP Blowfish 加密会产生如此奇怪的结果?
在听说 MD5 对密码存储 (MySQL) 不安全后,我决定将 PHP 的crypt()与 Blowfish 一起使用(告诉我你是否知道更好的算法)。所以我随机生成一个 32 个字符的 salt 并加密给定的字符串。这是代码:
我得到的结果真的很奇怪......对于一些非常像这样的配置,加密结果包含多个美元连续唱$ 。使用此代码, $encrypted - 结果 - 实际上包含它给出的盐,并且 $encrypted 前面是 Blowfish 指标$2a$。
顺便说一句,我的 PHP 版本支持 Blowfish。这是一个结果示例:
我究竟做错了什么?谢谢你的帮助。
编辑:哇,我只是想到了一些事情:我不应该总是使用相同的盐,还是应该随机生成一个并将其存储在 MySQL 中的每个用户帐户中?
php - 这个 PHP crypt 示例正确吗?
加密:
$usesomesillystringforsalt$部分应该是随机的还是固定的?(我猜是固定的,但我想确定)。
结果示例:
这是一个正确的加密值吗?
检查用户给定的登录密码是否正确:
(假设有一个名为的输入字段password
并将其与$password
从数据库中检索到的值进行比较):