草庐IT

Cryptography

全部标签

java - 使用 AES256 对称分组密码的图像加密/解密

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭2年前。Improvethisquestion有没有很好的例子说明如何在Android上使用AES加密和解密图像和其他文件? 最佳答案 警告:此答案包含您不应使用的代码,因为它不安全(使用SHA1PRNG进行key派生并在ECB模式下使用AES)改为使用PBKDF2WithHmacSHA1进行key派生,并在CBC或GCM模式下使用AES(GCM提供隐私和完整性)您可以使用以下函数:privat

java - 使用 AES256 对称分组密码的图像加密/解密

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭2年前。Improvethisquestion有没有很好的例子说明如何在Android上使用AES加密和解密图像和其他文件? 最佳答案 警告:此答案包含您不应使用的代码,因为它不安全(使用SHA1PRNG进行key派生并在ECB模式下使用AES)改为使用PBKDF2WithHmacSHA1进行key派生,并在CBC或GCM模式下使用AES(GCM提供隐私和完整性)您可以使用以下函数:privat

java - 给定最终 block 未正确填充

我正在尝试实现基于密码的加密算法,但我得到了这个异常:javax.crypto.BadPaddingException:Givenfinalblocknotproperlypadded可能是什么问题?这是我的代码:publicclassPasswordCrypter{privateKeykey;publicPasswordCrypter(Stringpassword){try{KeyGeneratorgenerator;generator=KeyGenerator.getInstance("DES");SecureRandomsec=newSecureRandom(password.g

java - 给定最终 block 未正确填充

我正在尝试实现基于密码的加密算法,但我得到了这个异常:javax.crypto.BadPaddingException:Givenfinalblocknotproperlypadded可能是什么问题?这是我的代码:publicclassPasswordCrypter{privateKeykey;publicPasswordCrypter(Stringpassword){try{KeyGeneratorgenerator;generator=KeyGenerator.getInstance("DES");SecureRandomsec=newSecureRandom(password.g

java - 为什么 SSL 握手会给出 'Could not generate DH keypair' 异常?

当我与一些IRC服务器(但不是其他服务器-可能是由于服务器的首选加密方法)建立SSL连接时,我收到以下异常:Causedby:java.lang.RuntimeException:CouldnotgenerateDHkeypairatcom.sun.net.ssl.internal.ssl.DHCrypt.(DHCrypt.java:106)atcom.sun.net.ssl.internal.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:556)atcom.sun.net.ssl.internal.ssl.C

java - 为什么 SSL 握手会给出 'Could not generate DH keypair' 异常?

当我与一些IRC服务器(但不是其他服务器-可能是由于服务器的首选加密方法)建立SSL连接时,我收到以下异常:Causedby:java.lang.RuntimeException:CouldnotgenerateDHkeypairatcom.sun.net.ssl.internal.ssl.DHCrypt.(DHCrypt.java:106)atcom.sun.net.ssl.internal.ssl.ClientHandshaker.serverKeyExchange(ClientHandshaker.java:556)atcom.sun.net.ssl.internal.ssl.C

java - 如何在 Java 中使用 SHA-256 散列一些字符串?

如何在Java中使用SHA-256散列一些String? 最佳答案 SHA-256不是一种“编码”——它是一种单向哈希。您基本上会将字符串转换为字节(例如,使用text.getBytes(StandardCharsets.UTF_8)),然后对字节进行哈希处理。请注意,散列的结果也是任意二进制数据,如果你想用字符串表示它,你应该usebase64或十六进制...不要尝试使用String(byte[],String)构造函数。例如MessageDigestdigest=MessageDigest.getInstance("SHA-25

java - 如何在 Java 中使用 SHA-256 散列一些字符串?

如何在Java中使用SHA-256散列一些String? 最佳答案 SHA-256不是一种“编码”——它是一种单向哈希。您基本上会将字符串转换为字节(例如,使用text.getBytes(StandardCharsets.UTF_8)),然后对字节进行哈希处理。请注意,散列的结果也是任意二进制数据,如果你想用字符串表示它,你应该usebase64或十六进制...不要尝试使用String(byte[],String)构造函数。例如MessageDigestdigest=MessageDigest.getInstance("SHA-25

java - java.util.Random 和 java.security.SecureRandom 之间的区别

我的团队收到了一些生成随机token的服务器端代码(Java中),我对此有疑问-这些token的用途相当敏感-用于sessionID、密码重置链接等。因此它们确实需要加密随机以避免有人猜测它们或暴力破解它们是可行的。token是“长”的,所以它是64位长。代码当前使用java.util.Random类来生成这些标记。documentation对于java.util.Random明确指出以下内容:Instancesofjava.util.Randomarenotcryptographicallysecure.ConsiderinsteadusingSecureRandomtogetacr

java - java.util.Random 和 java.security.SecureRandom 之间的区别

我的团队收到了一些生成随机token的服务器端代码(Java中),我对此有疑问-这些token的用途相当敏感-用于sessionID、密码重置链接等。因此它们确实需要加密随机以避免有人猜测它们或暴力破解它们是可行的。token是“长”的,所以它是64位长。代码当前使用java.util.Random类来生成这些标记。documentation对于java.util.Random明确指出以下内容:Instancesofjava.util.Randomarenotcryptographicallysecure.ConsiderinsteadusingSecureRandomtogetacr