草庐IT

SHA1WithRSA

全部标签

php - 相同的字符串,从 VB.net 和 PHP 获得的不同 SHA1 哈希值

我对字符串的SHA1散列值有一些疑问。我正在尝试将文件从用VB.net编写的客户端发送到用PHP编写的服务器。我的问题是,当我将相同的字符串传递给VB.net和PHP时,VB.net计算的SHA1值与PHP计算的值完全不同。比如我想对一个字符串进行Base64编码,然后计算这个Base64字符串的SHA1Hash。当计算机从vb.net版本和PHP版本执行此任务时,我得到两个不同的SHA1值,即使显然Base64编码字符串是相同的:VB.net:2E97A53B09C482A831540B532845BCAC79BFACCFPHP:350A2080264E2724D4BCBC521C3

php - 磁盘上文件的随机名称 sha1 或 uniqid 哪个更好?

为了将用户上传的文件存储在磁盘文件夹内的远程服务器上,我将文件名更改为$filename='/tmp/foo.txt';$newName=sha1_file($filename);//40characters//orIcando$newName=uniqid($filename)//13characters对于不太可能失败的新名称,哪种方法更可靠??谢谢。 最佳答案 更好的解决方案是使用tmpfile()或tempnam()。任何一个都可以保证创建一个未使用的文件,该文件不会发生冲突,也不会被流氓进程更改对您的权限“拦截”。tmpf

php - 使用 SHA1 时如何检查 PHP 字段是否为空

我正在使用SHA1加密密码。在我的原始代码中,我检查了密码字段是否为空:if(empty($newpassword)and(empty($newpassword2))){}由于我现在使用SHA1,当字段留空时它会自动生成da39a3ee5e6b4b0d3255bfef95601890afd80709,我该如何重写我的代码?将da39a3ee5e6b4b0d3255bfef95601890afd80709翻译回字符串?还是别的?请帮忙。if($_SERVER['REQUEST_METHOD']=='POST'){//oudepasswordcontroleif($password==$q

php - 为什么像 sha1 这样的散列函数最多只使用 16 个不同的字符(十六进制)?

抱歉我有这种好奇心。sha1使用[a-f0-9]字符作为它的散列函数。我可以知道为什么它不使用所有可能的字符[a-z0-9]通过使用所有可用的字符它可以大大增加可能的不同哈希的数量,从而降低可能发生冲突的可能性.如果您认为这不是一个真正的问题,请发表评论,我会立即删除此问题。===如答案中所述,sha1NOT仅使用16个字符。正确的事实是:sha1是160位的二进制数据(引文)。我添加这个是为了防止混淆。 最佳答案 您将表示与内容混淆了。sha1是160位的二进制数据。您可以用以下方式轻松地表示它:hex:0xf1d2d2f924e

php - 使用 sha1 密码散列法恢复密码

我想为我的网站实现忘记密码功能。我使用sha1散列密码。我将如何为用户恢复它?实现它的最佳方法是什么? 最佳答案 简短的回答,你不能。您想实现密码重置功能,而不是密码检索功能。散列密码的全部意义在于您无法存储用户的密码,如果丢失也无法恢复。This应该让您大致了解如何允许用户重置忘记的密码: 关于php-使用sha1密码散列法恢复密码,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

php - 拉维尔 5 : Using SHA1 instead of Bcrypt

我正在尝试扩展laravel5中的默认BcryptHashServiceProvider,以改为使用SHA1加密。使用这个问题的答案:HowtouseSHA1encryptioninsteadofBCryptinLaravel4?官方文档位于http://laravel.com/docs/5.0/extending#container-based-extension,我设法编写了以下代码:在app/Providers/ShaHashServiceProvider.phpuseApp\ShaHasher;useIlluminate\Hashing\HashServiceProvider;

php - PayPal 对 SHA-256 证书的更改

我一直收到来自PayPal的电子邮件,内容是关于他们在支持SHA-256证书方面所做的更改,并警告我可能必须更新我网站上的内容。我使用PayPal的IPN服务,该服务最初是在我的网站上设置的(我编写的所有自定义PHP代码,没有预先构建的购物车)并且自2008年以来一直运行得非常愉快。我的主机是共享主机,因为它不是一个非常大或繁忙的网站。我们在2008年7月1日运行PHP5.2.17、Apache2.2.3(CentOS)和OpenSSL0.9.8e-fips-rhel5的托管平台(我从PHP的phpinfo()函数中获得了所有这些信息)。由于我无法更新服务器上的任何软件,因此我认为任何

PHP - MD5、SHA、散列安全

我是一个用PHP构建的新网站的开发人员,我想知道什么是最好的用于散列的东西。我查看了md5和sha1,但还有什么更安全的吗?很抱歉,如果这是一个笨拙的问题,但我是PHP安全的新手,我正在努力让我的网站尽可能安全。还有什么是盐?谢谢,瓦西姆 最佳答案 首先,md5和sha1已被证明可以抵抗碰撞攻击并且可以是彩虹很容易列出(当他们看到你的哈希值在他们的常用密码数据库中是否相同时)。目前有两种足够安全的密码可供您使用。第一个是sha512。sha512是SHA2的子版本。SHA2尚未被证明是vunrable碰撞攻击和sha512将生成一个

解决GitHub报错You‘re using an RSA key with SHA-1, which is no longer allowed. Please use a newer client

解决GitHub报错You'reusinganRSAkeywithSHA-1,whichisnolongerallowed.Pleaseuseanewerclient生成密钥对修正事项1:使用Git生成密钥对生成密钥对修正事项2:使用TortoiseGit生成密钥对(方法1)生成密钥对修正事项2:使用TortoiseGit生成密钥对(方法2)将新密钥导入GitHub中  笔者今天在将本Git项目推送到GitHub时,GitHub却一直报如下错误:笔者报错时的运行环境:Git2.29.2.windows.2TortoiseGitRelease2.11.0git.exepush--progress

php - 将用户密码从加盐 SHA1 升级到 bcrypt

我受雇在新的PHP5.3服务器上使用Laravel4重建基于CodeIgniter1.7.3(在PHP4.2服务器上)构建的活跃应用程序。该系统有大约500名用户,他们的密码使用加盐SHA-1哈希加密。我想使用bcrypt来提高应用程序的安全性以及与Laravel4的身份验证系统集成。您建议如何迁移这些用户密码? 最佳答案 散列的全部意义在于您无法恢复原始密码。你有三个选择:存储SHA1散列的bcrypt散列,然后在每次登录时对密码进行bcrypt之前对每个密码进行SHA1散列。这可能不是一个好主意。在用户下次登录时升级每个散列。(