java - 是否可以使用 Java 加密体系结构访问 SCrypt?

标签 java encryption bouncycastle

我正在使用 Bouncy CaSTLe 用 Ja​​va 编写一个应用程序,但我仍然希望通过 Java 加密体系结构编写尽可能可移植的代码。是否可以通过JCA访问SCrypt算法?

In the list of algorithms for SecretKeyFactory它不存在,它只有:

  • AES
  • ARCFOUR
  • DES
  • DESede
  • PBEWithAnd
  • PBEWithAnd
    • PBEWithMD5AndDES(PKCS5,v 1.5),
    • PBEWithHmacSHA256AndAES_128(PKCS5,v 2.0)
  • PBKDF2WithHmacSHA1

实际上,该文档在任何地方都没有提到 Scrypt。

最佳答案

你见过the other thread here on StackOverflow吗? ?这指向 BS mailing list 的邮件讨论这个问题的地方。

报价:

Scrypt isn’t exposed by the BC JCE provider

因此,如果它现在没有列在可用密码列表中,那么这一点似乎仍然如此。

我检查了 Java 8 和 BC 1.54.0 上可用的密码,这些是可用的 key 工厂算法(不包括别名):

SecretKeyFactory.DES
SecretKeyFactory.DESEDE
SecretKeyFactory.DESede
SecretKeyFactory.PBEWITHHMACGOST3411
SecretKeyFactory.PBEWITHHMACRIPEMD160
SecretKeyFactory.PBEWITHHMACSHA1
SecretKeyFactory.PBEWITHHMACSHA256
SecretKeyFactory.PBEWITHHMACTIGER
SecretKeyFactory.PBEWITHMD2ANDDES
SecretKeyFactory.PBEWITHMD2ANDRC2
SecretKeyFactory.PBEWITHMD5AND128BITAES-CBC-OPENSSL
SecretKeyFactory.PBEWITHMD5AND192BITAES-CBC-OPENSSL
SecretKeyFactory.PBEWITHMD5AND256BITAES-CBC-OPENSSL
SecretKeyFactory.PBEWITHMD5ANDDES
SecretKeyFactory.PBEWITHMD5ANDRC2
SecretKeyFactory.PBEWITHSHA1ANDDES
SecretKeyFactory.PBEWITHSHA1ANDRC2
SecretKeyFactory.PBEWITHSHA256AND128BITAES-CBC-BC
SecretKeyFactory.PBEWITHSHA256AND192BITAES-CBC-BC
SecretKeyFactory.PBEWITHSHA256AND256BITAES-CBC-BC
SecretKeyFactory.PBEWITHSHAAND128BITAES-CBC-BC
SecretKeyFactory.PBEWITHSHAAND128BITRC2-CBC
SecretKeyFactory.PBEWITHSHAAND128BITRC4
SecretKeyFactory.PBEWITHSHAAND192BITAES-CBC-BC
SecretKeyFactory.PBEWITHSHAAND2-KEYTRIPLEDES-CBC
SecretKeyFactory.PBEWITHSHAAND256BITAES-CBC-BC
SecretKeyFactory.PBEWITHSHAAND3-KEYTRIPLEDES-CBC
SecretKeyFactory.PBEWITHSHAAND40BITRC2-CBC
SecretKeyFactory.PBEWITHSHAAND40BITRC4
SecretKeyFactory.PBEWITHSHAANDIDEA-CBC
SecretKeyFactory.PBEWITHSHAANDTWOFISH-CBC
SecretKeyFactory.PBEWithHmacSHA1AndAES_128
SecretKeyFactory.PBEWithHmacSHA1AndAES_256
SecretKeyFactory.PBEWithHmacSHA224AndAES_128
SecretKeyFactory.PBEWithHmacSHA224AndAES_256
SecretKeyFactory.PBEWithHmacSHA256AndAES_128
SecretKeyFactory.PBEWithHmacSHA256AndAES_256
SecretKeyFactory.PBEWithHmacSHA384AndAES_128
SecretKeyFactory.PBEWithHmacSHA384AndAES_256
SecretKeyFactory.PBEWithHmacSHA512AndAES_128
SecretKeyFactory.PBEWithHmacSHA512AndAES_256
SecretKeyFactory.PBEWithMD5AndDES
SecretKeyFactory.PBEWithMD5AndTripleDES
SecretKeyFactory.PBEWithSHA1AndDESede
SecretKeyFactory.PBEWithSHA1AndRC2_128
SecretKeyFactory.PBEWithSHA1AndRC2_40
SecretKeyFactory.PBEWithSHA1AndRC4_128
SecretKeyFactory.PBEWithSHA1AndRC4_40
SecretKeyFactory.PBKDF-OPENSSL SecretKeyFactory.PBKDF2
SecretKeyFactory.PBKDF2WITHASCII
SecretKeyFactory.PBKDF2WithHmacSHA1
SecretKeyFactory.PBKDF2WithHmacSHA1And8BIT
SecretKeyFactory.PBKDF2WithHmacSHA224
SecretKeyFactory.PBKDF2WithHmacSHA256
SecretKeyFactory.PBKDF2WithHmacSHA384
SecretKeyFactory.PBKDF2WithHmacSHA512

我还搜索了其他服务类型,也没有提到 scrypt。

关于java - 是否可以使用 Java 加密体系结构访问 SCrypt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45980241/

相关文章:

java - ColdFusion 10 中的 BouncyCasSTLe 库

java - 使用 log4j2 的多线程的不同日志文件

安卓 : AES Encryption & Decryption using GCM mode in android?

c# - 使用 Blowfish/CBC/PKCS5Padding 加密和解密数据

java - RSA_NO_PADDING 在 Java 和 C++ 之间有什么不同?

encryption - 节点js : How to encrypt and decrypt using public-private key pair using crypto module?

java - GCM 服务器推送失败并出现 SSLException (Java)

java - 更新方法未在 CRUD 应用程序中更新

java - 有没有实现 Iterable 而不实现 Collection 的 Java 标准类?

java - 翻译层的设计