草庐IT

php - Node.js 和 sha1

http://www.php.net/manual/en/function.sha1.phpstringsha1(string$str[,bool$raw_output=false])如果可选的raw_output设置为TRUE,则sha1摘要将以原始二进制格式返回,长度为20,否则返回值为40个字符的十六进制数。crypto=require("crypto");console.log(newBuffer(crypto.createHash('sha1').update("sometext").digest()).toString('base64'));//N8KqY8OHc8KYw5

php - Bcrypt(4)(=4 次迭代)与 SHA512 或每个密码具有唯一盐分的不同内容?

背景:我想在我的小网站上添加一个登录名,这是一个在线php应用程序,我想构建它以便将来能够承受更多的用户事件。在进一步研究实现LightOpenID之前,我想添加一个普通登录。我学习的书名为HeadFirstPHP&MySQL(2008),本章的最后代码使用SHA('$user_password')作为mysql查询的一部分。因为我对JeffAtwood的著作感兴趣,所以我很清楚bcrypt和scrypt。但是由于没有php实现scrypt并且没有专用服务器来运行它,我决定至少现在考虑实现bcrypt。但是我并不完全天真,我知道我应该注意不要过度扩展我非常简陋的托管资源。PHP应用程序

php - PHP 中的 HMAC-SHA-256

我必须从这个字符串构建授权散列:kki98hkl-u5d0-w96i-62dp-xpmr6xlvfnjz:20151110171858:b2c13532-3416-47d9-8592-a541c208f755:hKSeRD98BHngrNa51Q2IgAXtoZ8oYebgY4vQHEYjlmzN9KSbAVTRvQkUPsjOGu4F此secret用于HMAC哈希函数:LRH9CAkNs-zoU3hxHbrtY0CUUcmqzibPeN7x6-vwNWQ=我必须生成的授权散列是这样的:P-WgZ8CqV51aI-3TncZj5CpSZh98PjZTYxrvxkmQYmI=有些事情需要

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 - PHP中如何使用GCM模式加密?

我已经阅读了很多关于GCM的文章以及它有多棒,我想知道如何使用PHP使用AES-GCM身份验证加密。mcrypt()是否支持它?我在Codeigniter框架文档中找到了一些对GCM的引用,这让我相信可以在Codeigniter中使用.我还在一份关于Zend的文档中看到了一些东西。我不打算使用Codeigniter驱动程序,因为我不使用任何框架,也不打算用于我当前的项目。然而,在我看来,如果Codeigniter能够做到这一点,那么我们也应该能够在没有框架的情况下做到这一点。似乎GCM是兼顾安全性和性能的方式(我看到了非常令人印象深刻的性能数据)。我的感觉是我们需要这个,但我找不到任何

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 - 与盐渍 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对加盐密码进行哈希处理会损失多少安全性?就拥有数据库的人破解单个密码所需的时间而言。我使用的框架无法让我轻松访