草庐IT

开散列

全部标签

php - 在 PHPass 中使用现有的 MD5 散列是否存在任何安全隐患?

不知不觉中,我实现了一个使用md5作为哈希算法的登录系统。现在我知道得更多了,我想转而使用PHPass。我的问题是该系统已经在生产中,要求所有用户更改他们的密码将是最令人头疼的问题。我想出了一个足够简单的解决方案,但考虑到我之前的错误,我想确保我不会因为无知而犯下同样严重的错误。我的解决方案如下:改变md5($_POST['pass'])根据数据库值检查md5散列密码到md5($_POST['pass'])将md5散列密码传递给$hasher->HashPassword()使用$hasher->CheckPassword()根据数据库中的值检查重新散列的密码为了清楚起见,我只是重新散列

php - 散列和加盐 - 使用/cookie 验证登录

所以这基本上是一种保证,就散列/加盐而言,我正在正确地进行整个注册/登录过程。我有一个用户表,其中包含密码、盐、token字段(显然还有其他字段,但这是最重要的)。注册后,它会生成一个随机盐和一个随机token,并将其放入密码字段中:hash("sha256",$theirpostpassword.$randomgeneratedsalt);随机生成的盐和token存储在表中用户行的各自字段中。因此,在登录时,我仅从用户行中使用他们指定的用户名选择盐。然后我对有多少行的帖子密码与他们的特定salt连接进行了计数查询,然后我将它们登录。很确定我已经记下了那部分。现在我想在每个页面上验证他

php - 如何散列和加盐密码

我意识到这个话题有时会被提及,但我发现自己对这个话题还不是很确定。我想知道如何对散列进行加盐并使用加盐的散列?如果密码是用随机生成的盐加密的,当用户尝试验证时我们如何验证它?我们是否也需要将生成的哈希存储在我们的数据库中?是否有任何特定的盐生成方式?哪种加密方式更适合使用?据我所知,sha256还不错。当用户进行身份验证时,让散列“重新加盐”是个好主意吗?最后,重复多次是否对安全有重大提升?谢谢! 最佳答案 答案是不要自己做。使用bcrypt即可完成您在PHP中所需的一切。读这个,它很容易理解并解释了你所问的一切:http://co

用于创建 8 个字符长散列的 PHP 函数([a-z] = 不允许使用数字)

我需要PHP函数,该函数将从任何输入字符串创建8个字符长的[a-z]散列。所以例如当我提交“StackOverflow”时,它会返回,例如“gdqreaxc”(8个字符[a-z]不允许使用数字) 最佳答案 也许是这样的:$hash=substr(strtolower(preg_replace('/[0-9_\/]+/','',base64_encode(sha1($input)))),0,8);这会生成一个SHA1哈希,对其进行base-64编码(为我们提供完整的字母表),删除非字母字符,将其小写并截断。对于$input='yar!

c# - 如何在 C# 中重现适合 PHP SHA512 的 SHA512 散列?

这个问题几乎是不言自明的。我用Google搜索了很多网站、很多方法,尝试了很多编码,但我无法匹配。我正在尝试匹配字符串“asdasd”。(http://www.fileformat.info/tool/hash.htm?text=asdasd) 最佳答案 试试这个usingSystem.Security.CryptographypublicstaticstringHashPassword(stringunhashedPassword){returnBitConverter.ToString(newSHA512CryptoServic

php - Laravel 4 - 散列相同的密码给出不同的值

我正在尝试使用Auth::attempt()方法对用户进行身份验证,但它一直失败,所以我最终得到了以下代码:$arr=array();$arr['verified']=Hash::make('1234').';'.Hash::make('1234');returnjson_encode($arr);这是结果:{"verified":"$2y$10$V4yXBUcxealfLrzOE\/xAD.sJ8qpNhrMA6K6dENBBXYqaVx1zSETgy;$2y$10$C9xpOWLTUyfy1KL.Y3Tot.KWADmQYFK\/HAf6uZGGXTKcVh52qHS4m"}如您所

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 - 将带有散列密码的用户表从旧的 php 应用程序迁移到新的 laravel 应用程序

我正在开发一个旧的php应用程序,用户的密码使用md5()函数进行哈希处理。所以密码存储如下:c0c92dd7cc524a1eb55ffeb8311dd73f我正在使用Laravel4开发一个新的应用程序,我需要有关如何在不丢失密码字段的情况下迁移users表的建议。 最佳答案 尽可能快地丢失密码字段,但如果您不想冒丢失用户的风险,您可以在您的身份验证方法上执行类似的操作:if(Auth::attempt(array('email'=>Input::get('email'),'password'=>Input::get('passw

Java SHA256 输出不同的散列到 PHP SHA256?

PHP代码:echohash('sha256','jake');PHP输出:cdf30c6b345276278bedc7bcedd9d5582f5b8e0c1dd858f46ef4ea231f92731dJava代码:Strings="jake";MessageDigestmd=MessageDigest.getInstance("SHA-256");md.update(s.getBytes(Charset.forName("UTF-8")));byte[]hashed=md.digest();Strings2="";for(byteb:hashed){s2+=b;}System.ou

php - 如何使用 PHP GD 从散列信息生成唯一图像?

你好,在我正在处理的网站中,我想向用户显示一个由从他的电子邮件地址哈希。我应该生成分形吗?如果是这样,我怎样才能让em变得“独特”,或者更具体地说,更容易被刚刚访问过的用户识别登录了吗?我非常喜欢Stackoverflow向他们的新用户发送的关联用户图片。我正在使用PHPGD。提前感谢您提供实现此目的的任何提示。 最佳答案 以下是您可以运行的一些源代码:http://www.exorithm.com/algorithm/view/unique_image有点像SOF图片。 关于php-如