草庐IT

sha1prng

全部标签

php - 是否可以测试两个 sha2 哈希值是否来自同一个纯文本?

以下都是空字符串的SHA256哈希值,由PHP的crypt函数生成。$5$fooooooooooooooo$Y6IVN.cYkABQ4h8dCR0zL/rJoRx09pwMoGaYST9HqDD$5$baaaaaaaaaaaaaar$C84IKQdPMG8qvnnckGZsyBJWKHuaSD0tqcmyueHI0GA每个都是用散列中存在的不同16字节盐生成的。有没有办法只测试它们是同一事物的哈希值,而不知道那事物是什么? 最佳答案 没有。添加盐后,字符串将变得完全唯一,并且无法反转散列字符串。

php - SHA-1 哈希可以是纯数字吗?

SHA-1哈希是否有可能是纯数字,或者算法是否确保必须至少有一个字母字符?编辑:我以16进制表示它,作为PHP的sha1()函数返回的字符串。 最佳答案 从技术上讲,SHA1散列是一个数字,它最常以16进制编码(这是PHP的sha1()所做的),因此它几乎总是包含一个字母。虽然不能保证这一点。十六进制编码的160位数没有数字A-F的几率是(10/16)40或大约6.84227766×10-9 关于php-SHA-1哈希可以是纯数字吗?,我们在StackOverflow上找到一个类似的问题

php - 将 sha1 转换为 bcrypt?

我有一个PHP应用程序,它拥有相当不错的用户群。不幸的是,这些年来它一直在使用sha1($password.$salt),我真的很想放弃它,转而使用bcrypt。我找到了一些获取Blowfish哈希的好方法,但我仍然不确定我应该使用的转换方法。这是我的选择:选项1每次用户登录时,我都会检查哈希值是否以$2开头。如果不是,我假设它是sha1,获取用户输入的密码,获取它的bcrypt哈希并替换数据库中的旧哈希。选项2我替换我的身份验证类来执行此操作:$hash=password_hash("rasmuslerdorf",sha1($password.$salt));这样,转换会更快。但老实

php - SHA 是否足以检查文件重复? (PHP 中的 sha1_file)

假设您想创建一个文件托管站点供人们上传他们的文件并向他们的friend发送一个链接以便稍后检索它并且您想确保文件在我们存储它们的地方被复制,PHP的sha1_file是否足以胜任这项任务?有什么理由不使用md5_file代替吗?对于前端,它会使用数据库中存储的原始文件名进行模糊处理,但如果这会泄露有关原始海报的任何信息,则还有一些额外的问题。文件是否继承了任何元信息,如上次修改或发布者,或者这些信息是否基于文件系统?此外,使用盐是不是很无聊,因为彩虹表攻击方面的安全性对此毫无意义,哈希值稍后可以用作校验和?最后一件事,可扩展性?最初,它只会用于几兆大的小文件,但最终......编辑1:

java - 为什么 PHP 的 hash_hmac ('sha256' ) 给出与 java sha256_HMAC 不同的结果

在PHP中我有以下函数:base64_encode(hash_hmac('sha256',$data,$secret,false));我正在尝试在Java中创建一个函数,该函数将为相同的“数据”和“secret”参数提供相同的结果。我尝试使用这个函数:publicstaticStringbase64sha256(Stringdata,Stringsecret){Macsha256_HMAC=Mac.getInstance("HmacSHA256");SecretKeySpecsecret_key=newSecretKeySpec(secret.getBytes(),"HmacSHA25

PHP 种子、确定性、加密安全 PRNG(伪随机数生成器)。可能吗?

我需要在PHP中创建一个可证明公平(确定性和种子)加密安全(CS)随机数生成器。我们正在运行PHP5,而PHP7现在并不是一个真正的选择。但是,我找到了PHP7的新CS函数的polyfill,所以我已经实现了该解决方案(https://github.com/paragonie/random_compat)。我认为srand()可用于为random_int()设置种子,但现在我不确定是否是这样。CSPRNG甚至可以播种吗?如果可以播种,输出是否是确定性的(相同的随机结果,给定相同的种子)?这是我的代码:require_once($_SERVER['DOCUMENT_ROOT']."/li

php - 与盐渍 SHA512 相比,盐渍 SHA1 有多不安全

SHA1完全不安全,应该被替换。这个问题已有8年以上历史,时代已经变了:https://arstechnica.com/information-technology/2017/02/at-deaths-door-for-years-widely-used-sha1-function-is-now-dead/对于密码:https://en.wikipedia.org/wiki/PBKDF2对于数据:SHA3SHA512比SHA1更复杂,但与使用512进行哈希处理相比,使用SHA1对加盐密码进行哈希处理会损失多少安全性?就拥有数据库的人破解单个密码所需的时间而言。我使用的框架无法让我轻松访

php salt 我每个用户的密码 sha512 - 我这样做对吗?

我正在尝试为我的密码正确地对每个用户和站点范围进行加盐。这是我得到的:require('../../salt.php');//thisisabovethewebrootandprovides$saltvariable$pw=mysql_real_escape_string($_POST['pw']);$per_user_salt=uniqid(mt_rand());$site_salt=$salt//fromsalt.phpthatwasrequiredonfirstline$combine=$pw.$per_user_salt.$site_salt;$pw_to_put_in_db=

php - 未知算法。日志中预期的 HMAC-SHA256 垃圾邮件

我正在使用facebookphpsdk3.1.1和facebookJSsdk的当前版本。我们的用户没有报告错误,但我看到了大量这样的错误日志消息:Unknownalgorithm.ExpectedHMAC-SHA256我从源代码中看到错误是在使用错误的编码算法读取签名请求时触发的,但我不确定为什么会这样,因为所有签名请求都应由facebookJS代码生成。有人见过这种行为吗?知道这是一件多么糟糕的事情,或者它是否真的表明错误?我无法按需复制它。 最佳答案 尝试记录一些signed_request参数以手动检查它们。例如,您可以将Ba

php - 解码hash sha256加密,知盐

我正在为Web应用程序制作登录系统。为了在数据库中存储密码,我使用sha256加密密码,如下所示:$salt="sometext";$escapedPW="userpass";$saltedPW=$escapedPW.$salt;$hashedPW=hash('sha256',$saltedPW);echo"".$hashedPW."";在数据库中,我存储了用户、用户密码以及用于生成哈希值和验证用户登录的盐。现在我正在做的功能是用你的密码向用户发送一封电子邮件,但是当用户收到电子邮件时,由于存储在sha256加密密码中,用户收到一个长字符串而不是用户应该的密码知道。我的问题是有什么方法