我正在使用Java scrypt库进行密码存储.当我加密东西时N,它需要一个r和p值,其文档称为"CPU成本","内存成本"和"并行化成本"参数.唯一的问题是,我实际上并不知道它们的具体含义,或者对它们有什么好的价值; 也许他们以某种方式对应于Colin Percival原创应用中的-t,-m和-M开关?
有人对此有任何建议吗?图书馆本身列出N = 16384,r = 8和p = 1,但我不知道这是强还是弱或是什么.
我查询了msdn和其他资源如何做到这一点,但我想出了没有明确的解决方案.这是我找到的最好的http://blogs.msdn.com/b/shawnfa/archive/2004/04/14/generating-a-key-from-a-password.aspx?Redirected=true
我想使用bcrypt或PBKDF2(看起来与bcrypt相关)在C#中散列密码.我想试验一下我的计算机散列密码需要多少轮.然而,一切似乎都是关于加密,而每个人都谈论哈希.我无法弄清楚.我如何哈希密码?它看起来更像PBKDF2(Rfc2898?)是一个随机数生成器,我使用GetBytes(金额)来选择我的散列大小有多大.
我糊涂了.我究竟如何用bcrypt/PBKDF哈希密码?
我即将开始在我们公司设立一个仅限员工的Rails应用程序来处理敏感信息.将会有防火墙,物理安全措施等.我现在关心的是应用程序的登录过程.
我想使用Devise进行身份验证.Devise最安全的配置是什么?
我想我会做以下事情:
config.paranoid这样攻击者无法判断他们是否猜到了有效的电子邮件地址一些我不确定的具体事情,用devise.rb斜体字引用:
我还缺少什么?
我正在尝试找到一个bcrypt可以在Delphi中使用的实现.关于Googling给我带来的唯一有用的东西就是这个下载页面,其中包含一个叫做winapi单元的翻译标题bcrypt.h.但是,当我查看它提供的功能时,bcrypt.h似乎实际上没有任何方式使用Blowfish算法来散列密码!
我在C中找到了一些bcrypt实现,我可以从中构建DLL并链接到它们,除了它们似乎都需要*nix或GCC特定的,所以这也不起作用!
这有点让我感到困扰.我认为找到一个实现很容易,但事实上似乎并非如此.有谁知道我可以在哪里买到一个?
我正在学习 Nodejs 背景下的传递哈希,我想知道你会推荐什么盐级别。默认级别是 10,我想知道这对于少于 10 个用户的基本应用程序来说是否足够好。
我正在使用bcrypt在我的数据库中存储密码,使用工作因子7,在我合理的现代笔记本电脑上使用大约0.02秒来散列单个密码.
Coda Hale表示,使用bcrypt可以让你通过调整工作因素来"跟上摩尔定律".但是没有办法重新加密用户的密码,因为我没有存储明文.如何让我的数据库保持最新并且难以破解(假设它会延续5年以上,这将成为一个问题)?
目前我正在使用特定的方案来保护密码,我认为我有一些需要改进的地方.实现是在Java中,所以我更喜欢使用SHA-2 512作为加密形式.
目前我有一个客户端 - 服务器模型,所以这些事情可能发生:
我有这些问题:
当想要破解密码时,攻击者通常会创建冲突攻击.但是碰撞攻击如何足够?如果密码需要用于其他应用程序,如Outlook.com,Facebook或其他任何应用程序(可能使用另一种盐,因为它们与我的应用程序无关),那么碰撞攻击如何呢?你不需要真正的密码吗?
SHA-2 512是否已经使用迭代?即使如此,我是否应该更改加密方法以自动使用多次迭代以及首选多少次迭代?我还读过关于使用随机数量的迭代(在一个范围内),如何确定性地存储随机因子?
我应该为服务器代码中的每次迭代存储系统机密吗?请参见http://blog.mozilla.org/webappsec/2011/05/10/sha-512-w-per-user-salts-is-not-enough/.我可以存储一个数组,它会为每次迭代保留一个静态秘密,第n个秘密用于第n次迭代.没有人能够知道秘密,它们被计算一次(我想加密一些随机字符串),然后基本上存储在服务器的RAM中.
目前我将输入的密码从客户端发送到服务器,只需SHA-2_512(密码),是否应该改进此过程,如果是,如何进行?我不能使用盐,因为客户没有盐.
问候.