我正在使用 Bouncy CaSTLe 用 Java 编写一个应用程序,但我仍然希望通过 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/