标签: hash

SHA512与Blowfish和Bcrypt

我正在看哈希算法,但找不到答案.

  • Bcrypt使用Blowfish
  • 河豚比MD5好
  • 问:但是Blowfish比SHA512好吗?

谢谢..

更新:

我想澄清一点,我理解散列和加密之间的区别.是什么促使我这样问这个问题的是这篇文章,作者将bcrypt称为"自适应散列"

由于bcrypt基于Blowfish,因此我认为Blowfish是一种哈希算法.如果它的答案已经指出加密,那么在我看来它应该不会在本文中占有一席之地.更糟糕的是,他总结说bcrypt是最好的.现在让我感到困惑的是phpass类(我相信用于密码哈希)使用bcrypt(即河豚,即加密).根据这些新信息,你们告诉我(河豚是加密),这个类听起来不对.我错过了什么吗?

security encryption passwords hash

221
推荐指数
3
解决办法
12万
查看次数

密码盐如何帮助抵御彩虹表攻击?

我在理解盐密封的目的时遇到了一些麻烦.据我所知,主要用途是阻碍彩虹表攻击.但是,我看到实现这一点的方法似乎并没有真正解决问题.

我见过许多教程,建议将盐用作以下内容:

$hash =  md5($salt.$password)
Run Code Online (Sandbox Code Playgroud)

原因是哈希现在不映射到原始密码,而是密码和盐的组合.但是说$salt=foo$password=bar$hash=3858f62230ac3c915f300c664312c63f.现在有人用彩虹表可以反转哈希并提出输入"foobar".然后他们可以尝试所有密码组合(f,fo,foo,... oobar,obar,bar,ar,ar).获取密码可能需要几毫秒,但其他情况并不多.

我见过的其他用途是在我的linux系统上.在/ etc/shadow中,散列密码实际上 salt一起存储.例如,"foo"的盐和"bar"的密码将散列到此:$1$foo$te5SBM.7C25fFDu6bIRbX1.如果一个黑客以某种方式能够得到这个文件,我不知道盐服务的目的是什么,因为te5SBM.7C25fFDu6bIRbX已知反向哈希包含"foo".

感谢任何人都可以解决这个问题.

编辑:谢谢你的帮助.为了总结我的理解,salt使得散列密码更加复杂,从而使得它更不可能存在于预先计算的彩虹表中.我之前误解的是,我假设所有哈希都存在彩虹表.

hash cryptography salt rainbowtable

217
推荐指数
7
解决办法
6万
查看次数

如何获取在Ruby中迭代哈希的特定输出?

我希望得到一个迭代Ruby Hash的特定输出.

这是我想迭代的哈希:

hash = {
  1 => ['a', 'b'], 
  2 => ['c'], 
  3 => ['d', 'e', 'f', 'g'], 
  4 => ['h']
}
Run Code Online (Sandbox Code Playgroud)

这是我想得到的输出:

1-----

a

b

2-----

c

3-----

d 

e

f

g

4-----

h
Run Code Online (Sandbox Code Playgroud)

在Ruby中,如何使用Hash获得这样的输出?

ruby hash output

210
推荐指数
5
解决办法
28万
查看次数

如何将字典中的所有值相加?

假设我有一个字典,其中键映射到整数,如:

d = {'key1': 1,'key2': 14,'key3': 47}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,是否有一种语法简约的方法来返回d-ie 62中的值的总和?

python hash dictionary sum

209
推荐指数
7
解决办法
26万
查看次数

在实践中忽略SHA碰撞的可能性是否安全?

假设我们有十亿个独特的图像,每个图像一兆字节.我们计算每个文件内容的SHA-256哈希值.碰撞的可能性取决于:

  • 文件数量
  • 单个文件的大小

假设它为零,我们可以在多大程度上忽略这种可能性?

hash sha

197
推荐指数
3
解决办法
7万
查看次数

什么是哈希和范围主键?

我无法理解Range主键在这里 -

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key

它是如何工作的?

"散列属性上的无序散列索引和范围属性上的排序范围索引"是什么意思?

database hash primary-key nosql amazon-dynamodb

194
推荐指数
3
解决办法
9万
查看次数

如何使用Node.js Crypto创建HMAC-SHA1哈希?

我想创建一个哈希I love cupcakes(用密钥签名abcdeg)

如何使用Node.js加密创建该哈希?

javascript algorithm hash node.js node-crypto

190
推荐指数
3
解决办法
10万
查看次数

C#中的哈希和盐密码

我刚刚浏览了DavidHayden关于哈希用户密码的文章之一.

真的,我无法得到他想要实现的目标.

这是他的代码:

private static string CreateSalt(int size)
{
    //Generate a cryptographic random number.
    RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
    byte[] buff = new byte[size];
    rng.GetBytes(buff);

    // Return a Base64 string representation of the random number.
    return Convert.ToBase64String(buff);
}

private static string CreatePasswordHash(string pwd, string salt)
{
    string saltAndPwd = String.Concat(pwd, salt);
    string hashedPwd =
        FormsAuthentication.HashPasswordForStoringInConfigFile(
        saltAndPwd, "sha1");
    return hashedPwd;
}
Run Code Online (Sandbox Code Playgroud)

有没有其他C#方法来散列密码并添加盐?

c# passwords hash salt

174
推荐指数
9
解决办法
20万
查看次数

如何用另一个键替换哈希键

我有一个条件,我得到一个哈希

  hash = {"_id"=>"4de7140772f8be03da000018", .....}
Run Code Online (Sandbox Code Playgroud)

我希望这个哈希为

  hash = {"id"=>"4de7140772f8be03da000018", ......}
Run Code Online (Sandbox Code Playgroud)

PS:我不知道哈希中的键是什么,它们是随机的,每个键带有一个"_"前缀,我不想要下划线

ruby hash ruby-on-rails ruby-on-rails-3

174
推荐指数
7
解决办法
9万
查看次数

Python字典是哈希表的一个例子吗?

Python中的一个基本数据结构是字典,它允许用户记录"键"以查找任何类型的"值".这在内部实现为哈希表吗?如果没有,那是什么?

python hash dictionary hashtable hashmap

170
推荐指数
4
解决办法
15万
查看次数