Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javax.crypto.Cipher的安全性如何?_Java_Security_Encryption - Fatal编程技术网

javax.crypto.Cipher的安全性如何?

javax.crypto.Cipher的安全性如何?,java,security,encryption,Java,Security,Encryption,我对密码学的了解足以让一个新手程序员的生活变得困难,并受到安全专家的嘲笑。考虑到这一点,我问:javax.crypto.Cipher的安全性如何?我意识到任何事情都可以被有意志和方式的人破解,但我仍然想知道相关的细节 我问这个问题的原因是我想存储通过我的Cryptor类发送的帐户名和密码,并想知道这是否可以完成任务。如果有人有我能读的文学作品,我将不胜感激 感谢~Aedon,因为它是一个完全不安全的类。密码是应用加密/解密算法的通用类。它的安全性取决于实际使用的加密算法(DES、triple D

我对密码学的了解足以让一个新手程序员的生活变得困难,并受到安全专家的嘲笑。考虑到这一点,我问:javax.crypto.Cipher的安全性如何?我意识到任何事情都可以被有意志和方式的人破解,但我仍然想知道相关的细节

我问这个问题的原因是我想存储通过我的
Cryptor
类发送的帐户名和密码,并想知道这是否可以完成任务。如果有人有我能读的文学作品,我将不胜感激


感谢~Aedon

,因为它是一个完全不安全的类。

密码是应用加密/解密算法的通用类。它的安全性取决于实际使用的加密算法(DES、triple DES、AES等)、密钥的大小以及您选择的块链接类型

如果您打算安全地存储密码,那么您的要求与简单的“安全/私下通信”完全不同。一个
密码本身不足以保护您。你需要使用其中一个

在那种情况下。是一些关于密码安全性的参数和链接


有趣的是,“普通”加密(或散列)速度太快,无法抵御严重的攻击者。您希望人为地降低整个过程的速度,以使有人系统地攻击您的应用程序变得尽可能困难。单个用户在输入密码时不会注意到1毫秒或500毫秒之间的差异,但对于攻击者来说,这意味着为了破解您的方案,他们平均需要500倍的时间——因此,如果以前需要大约1个月才能找到有效密码,那么现在需要500个月

浏览文档。那里有很多不错的链接。啊,我明白了。如何更改钥匙的大小?当我试图为我的
SercretKeySpec
IvParameterSpec
使用32字节的密钥时,我受到了大量的异常攻击?我查看了文档,但不清楚。DES有一个64位的密钥,实际上只使用了56位。AES具有128或256位密钥。如果您正在加密帐户名和密码,我建议在CTR模式下使用AES-128,这样您就不会用填充扩展数据。CTR模式不像CBC模式那样需要填充。感谢您的详细解释。