草庐IT

php - 像这样使用 MD5 散列的子串是否足够独特?

我想做的是为我网站上的文章创建一个12个字符的ID,类似于youtube处理视频ID(http://www.youtube.com/watch?v=53iddd5IcSU)的方式。现在我正在生成一个MD5哈希,然后像这样抓取它的12个字符:$ArticleId=substr(MD5("Article".$currentID),10,12)其中$currentID是来自数据库的数字ID(例如144)我有点偏执地认为我会遇到重复的$ArticleId,但实际上发生这种情况的可能性有多大?而且,由于我的数据库中的列是唯一的,我如何才能在不引发难看错误的情况下处理这种罕见的情况?附言我制作了一

php - 如何用 Delphi 和 PHP 获得相同的 MD5?

我正在使用带有FireMonkey的DelphiXE2。我已经阅读了许多关于MD5的其他问题,但没有找到我遇到的问题的答案......我还测试了不同的脚本以从Delphi生成MD5:functionMD5(consttext:string):string;varmd5:TIdHashMessageDigest5;beginmd5:=TIdHashMessageDigest5.Create;Result:=LowerCase(md5.HashStringAsHex(text,TEncoding.ANSI));md5.Free;end;或functionMD5(consttext:Stri

php - Laravel 中的 Bcrypt 与 Hash

我想创建一个函数或类似Cron的东西来执行一个链接(在Laravel中),带有类似密码的东西。我有两个解决方案。但是哪个更好用:选项1(哈希):选项2(加密):此代码已被广泛描述。更好用我的意思是更安全/更安全,或者那种恍惚中的东西。谢谢! 最佳答案 您的第二个选项不是bcrypt。Laravel的Crypt类使用AES加密。如前所述inthedocumentation:LaravelprovidesfacilitiesforstrongAESencryptionviatheMcryptPHPextension.据我所知,您无需能够

php - 获取超大文件的 MD5 校验和

我编写了一个脚本,它读取目录中的所有文件并返回每个文件的md5哈希值。但是,对于一个相当大的文件,它不呈现任何内容。我假设解释器为最大处理时间设置了一些值,并且由于获取该值花费的时间太长,它只是跳到其他文件。有没有办法通过PHP获取大文件的md5校验和?如果没有,是否可以通过cpanel的chron作业来完成?我在那里试了一下,但似乎我的md5sum命令从未被处理过:我从来没有收到过带有哈希值的电子邮件。这是我已经编写的PHP。对于大小合理的文件,这是一个非常简单的代码和工作文件:functionmd5_dir($dir){if(is_dir($dir)){if($dh=opendir

php - 可以破解 sha1(md5 ('password' )) 密码吗?

问题是:有可能破解sha1(md5('password'))密码吗?或者sha1中的md5或md5中的sha1如何更好?谢谢! 最佳答案 多重散列不会进一步保护您的密码。只需使用安全的加盐哈希即可。查看http://php.net/hash 关于php-可以破解sha1(md5('password'))密码吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5765392/

php - 使用 password_hash 时生成的哈希的最大长度?

我在用password_hash($password,PASSWORD_BCRYPT);加密密码以存储在数据库中。正如我所读,生成的哈希值没有长度限制,但我需要知道最大长度,以便我可以使用它来定义我的数据库中可以适合所有密码哈希值的字段(在最坏的情况下)。如果我将明文密码的长度限制为20个字符,password_hash()结果会是多长时间? 最佳答案 来自password_hashdocumentation:Thefollowingalgorithmsarecurrentlysupported:PASSWORD_DEFAULT-U

php - 如何实现一个密码的sha 512,md5和salt加密

这个问题在这里已经有了答案:SecurehashandsaltforPHPpasswords(14个答案)关闭8年前。$pass="test"上面的变量包含一个名为test的密码。我想使用sha512md5和salt对这个密码进行哈希处理我该怎么做,因为我发现只有salt和sha512的好处,我已经知道md5加密。请我需要解决方案作为我的系统很脆弱请用代码示例解释一下,因为我仍然依附于md5根据我对您的评论和回答的理解,我得到了以下代码$pass="test";$hashed_pass=openssl_digest($pass,'sha512');ok看起来足够可靠,但是[salt='

php - md5解密可以吗?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Isitpossibletodecryptmd5hashes?我不小心用md5加密加密了一些数据。我需要恢复它。如何解密md5加密后的数据?

php - 将 password_hash 与 unicode 字符一起使用是否安全?

将password_hash与以下unicode字符一起使用是否安全,或者存在不兼容问题? 最佳答案 正如Mark评论的那样,哈希算法本身对字节起作用,因此它们是unicode安全的。唯一的问题可能是PHP对unicode字符串的处理,即密码散列函数binary-safe?让我们测试一下并找出答案:结果:Pass:100Fail:0你的问题的答案是是的,它是安全的。 关于php-将password_hash与unicode字符一起使用是否安全?,我们在StackOverflow上找到一个

php - 将 md5 密码哈希值转换为 PHP 5.5 password_hash()

PHP5.5中新的password_hashAPI非常好,我想开始在任何地方使用它。给定一个包含旧数据库的旧项目,其中密码存储在md5哈希中,将旧用户密码迁移到新的、更安全的API的最佳方法是什么?除了简单地提示用户在下次登录时重设密码(这对用户来说是不切实际且烦人的)之外,我还考虑过使用当前md5哈希作为我所有现有用户的password_hash()输入的可能性。为了验证这些用户的密码(在登录期间),我会将他们的输入转换为md5散列,然后将其用于password_verify()。新用户可以省去这个额外的步骤。这样做值得吗?有没有更好的透明迁移方法,用户不会因为密码重置而烦恼,但我可