我目前正在使用scrypt实现密码哈希。我已经在GitHub上找到了一个不错的scrypt实现。令我惊讶的是,我还发现了一个scrypt implementation in the Bouncy Castle library。该类没有记录,维基百科没有提到Bouncy CaSTLe作为scrypt的实现提供者,而我在查找使用Bouncy CaSTLes scrypt的人的任何代码示例时遇到了很大的麻烦,因此这对我来说似乎有点可疑。

另一方面,如果我必须在GitHubs加密实现和Bouncy CaSTLe之间进行选择,则我会选择Bouncy CaSTLe。

那么,弹跳城堡会加密“真实的事物”吗?我是否可以在JCA提供程序API上使用Bouncy CaSTLes scrypt(或者我需要像此处这样直接调用它:AES-256 encryption workflow in scala with bouncy castle: salt and IV usage and transfer/storage)?

编辑:最好的答案,我现在可以得到:https://www.bouncycastle.org/devmailarchive/msg13653.html

最佳答案

这样人们就不必去外部站点回答问题了:

  • 确保充气城堡 jar 在您的构建路径上
  • 像这样导入SCrypt:
    import org.bouncycastle.crypto.generators.SCrypt;
    
  • 像这样使用SCrypt:
    byte[] sCryptHash = SCrypt.generate(plaintext.getBytes(), salt.getBytes(), cpuDifficultyFactor, memoryDifficultyFactor, parallelismDifficultyFactor, outputLength);
    
  • 关于java - 有弹性的城堡Scrypt实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22226867/

    10-09 04:57