草庐IT

Crypt_Blowfish

全部标签

php - 在 PHP 中正确使用带有 SHA512 的 crypt()

所有在线示例都显示了crypt的用法,如下所示:$pass=crypt('something','$6$rounds=5000$anexamplestringforsalt$');但每个人都说你不应该定义圆或盐。那我应该怎么使用呢?我还有一个问题:当我运行上面的代码时,它只运行了50轮而不是5000轮,就好像系统正在停止它一样。任何帮助将不胜感激。//-解决方案-//我发现其中一些很有用:用于生成盐:这是一种随机生成盐的方法$randomString=random_bytes(32);Base64编码保证部分字符不会对crypt造成问题$salt=base64_encode($rand

java - Java 中的 crypt(3) $6$ 密码哈希算法(基于 SHA-512)?

我正在寻找一个Java函数来生成/验证以crypt(3)方式编码的密码散列,当它们存储在Linux“/etc/shadow”文件中时如果sha512在“/etc/pam.d/common-password”中激活。明文字符串“geheim”将转换为:"$6$WoC532HB$LagBJ00vAGNGu8p9oeYDOSNZo9vTNTzOgPA.K0bJoiXfbcpj3jBuTkNwdzCrSNadRi8LanH1tH6tGGPPp/Lp3."来自http://www.akkadia.org/drepper/SHA-crypt.txt我知道,与MD5一样,它不仅仅是一个像Digest

使用Git-Crypt和GPG加密Git代码库中的敏感信息(二)

在之前的 使用Git-Crypt和GPG加密Git代码库中的敏感信息(一)介绍了git-crypt的一般用法,通过分发密匙达到加解密仓库中敏感数据的目的,但通过分发密钥,容易造成密钥泄露,实际应用中会结合GPG的公私钥来来分发Git-Crypt加解密仓库敏感信息的权限,如果对GPG不了解可以阅读GPG加密与数字签名以及在Git中使用GPG签名提交 了解一下GPG的基本用法。git-crypt添加GPG公钥用户GPG的私钥和公钥其实代表了拥有这个GPG公私钥的用户的身份,可以通过使用git-crypt命令添加GPG公钥用户到使用git-crypt加密敏感数据的git代码仓库,从而让此GPG公钥用

c++ - 将 TSA 的响应添加到 CryptSignMessage 的 CRYPT_SIGN_MESSAGE_PARA(c++,Crypto Api)

我正在纠结如何将来自TSA服务器的响应添加到我的CryptSignMessage?使用PKCS#7。我目前有我的消息摘要,并且我使用来自cryptoapi的CryptSignMessage成功地对其进行了签名。像这样://Initializethesignaturestructure.CRYPT_SIGN_MESSAGE_PARASigParams;SigParams.cbSize=sizeof(CRYPT_SIGN_MESSAGE_PARA);SigParams.dwMsgEncodingType=MY_ENCODING_TYPE;SigParams.pSigningCert=hCo

php - 使用 OpenSSL C++ 库和 PHP 的 Blowfish 加密数据不一致

我正在尝试开发一个C++程序来加密一些数据,以便稍后使用基于PHP的Web服务进行解密。但是,我在使用PHP中的openssl_decrypt()方法使用Blow-fishCBC方法用PHP解密数据时遇到了问题。我正在测试此代码C++代码以加密消息并转换为base64格式以使用我的PHP程序解密。这是C++程序的代码。#include#includeintmain(){cout(ciphertext)));cout(decryptedtext)))我的PHP解密测试代码如下:但是,PHP程序无法解密由我的C++程序生成的$ciphertext。当我尝试回显$original_plain

c++ - Crypt Kicker 的更好解决方案?

虽然这看起来像是CryptKickerProblem的重复,它不是。我已经解决了这个问题,但我对我的解决方案并不满意。问题陈述是:加密文本的一种常见但不安全的方法是排列字母表中的字母。换句话说,字母表中的每个字母在文本中始终被其他字母替换。为确保加密可逆,不会将两个字母替换为同一个字母。你的任务是解密几行编码的文本,假设每一行都使用一组不同的替换,并且解密文本中的所有单词都来自已知单词的字典。输入输入包含一行,其中包含一个整数n,后跟n个小写单词,每行一个,按字母顺序排列。这n个词组成了解密文本中可能出现的词的字典。字典后面是几行输入。每行都如上所述加密。字典中的单词不超过1,000个

C++ Blowfish 哈希实现

许多脚本语言(Python/PHP/等...)包含允许您使用Blowfish作为密码单向散列的功能(有时通过扩展)。我正在尝试为C++找到类似的实现,但我遇到的一切都是加密/解密解决方案。有人可以推荐一个提供相同功能的C++库吗? 最佳答案 在jbcrypt有一个java版本.在openbsd.org有一篇关于bcrypt的论文和microsoft.您可以在http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/crypt/找到bcrypt的源代码更多信息请访问http://www.op

php - (PHP) 如何正确执行 crypt()

这是来自PHPmanualpageforcrypt()的示例:为什么会这样?我认为'mypassword'是我希望实际管理员使用的密码。所以我首先对其进行加密,并将其设置为等于$password。显然,我必须需要将其存储在数据库中。但在接下来的几行中,它被用作盐和我要比较的东西,我不明白crypt($user_input,$password)怎么可能等于$password,如果在后一种情况下我有理想的正确密码作为$user_input但加盐$password与$password。如果最后一行是对我来说更有意义if(crypt($user_input)==$password){echo"

php - 将 PHP crypt() 结果存储在数据库中是否安全?

例如blowfish它返回如下内容:$2a$12$DEzG.CRsHpxpTOAHooQ.wuR6Xe9h6PxFPhOcOvf.lqDNw1TVYVnEO其中包含有关哈希算法类型的信息,并且包含盐。很多资源都说只将这个值存储在数据库中,它是安全的。但是,难道就不能有人根据这些值测试一个常见的密码列表来破解其中的一些吗? 最佳答案 密码散列的安全性并非来自信息的保密性。您已经丢弃了实际的secret,即作为散列值基础的密码。剩余的散列只是原始数据的一种指纹。安全性来自这样一个事实,即不可能从散列中导出原始数据。唯一的可能性是尝试所有

php - 为什么我不应该在 crypt() 函数的 salt 中使用第 23 个字符?

我正在学习PHP的crypt()函数,并且一直在用它运行一些测试。根据thispost,我应该使用22个字符长的盐。但是,我可以使用23个字符长的字符串,但有一些限制。当我使用22个字符长的字符串时,我总是得到'$2y$xxStringStringStringStri.HashHashHashHashHashHashHashHas'的结果。我知道这段时间只是盐的一部分。似乎如果我使用23个字符而不是22个字符,我可以成功生成不同的哈希值,但是所有64个字符只有4个不同的结果。第23个字符“向下舍入”到64个字符字母表中最接近的1/4(例如,第23个字符是“W”并向下舍入为“O”或任何数