【Java BouncyCastle AES解密的C#等效项是什么?】教程文章相关的互联网学习教程文章

在C#中加密的数据长度为1个字节,无法在Java中解密【代码】

我有一个用Java编写的服务器,它将其RSA密钥转换为.NET使用的XML格式,然后再将其发送到客户端:public String getPublicKeyXML() {try {KeyFactory factory = KeyFactory.getInstance("RSA");RSAPublicKeySpec publicKey = factory.getKeySpec(this.keyPair.getPublic(), RSAPublicKeySpec.class);byte[] modulus = publicKey.getModulus().toByteArray();byte[] exponent = publicKey.getPublicExponent().toByteArray();String mo...

AES-256 CBC在php中加密并在Java中解密,反之亦然【代码】

JAVAimport javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64;class AES256JavaPhp{public static void main(String[] args) throws Exception {Base64 base64 = new Base64();Cipher ciper = Cipher.getInstance("AES/CBC/PKCS5Padding");SecretKeySpec key = newSecretKeySpec("PasswordPassword".getBytes("UTF-8"),"A...

java – 三重DES解密无效密钥,16字节【代码】

我有一个Android项目,我从我的Web服务获得一个Triple DES加密文本.我需要Triple DES解密. 但是,我收到了无效的密钥异常.我的密钥转换为HEX格式,我收到一个错误:W / System.err:java.security.InvalidKeyException:DES密钥太长 – 应该是8个字节我发现here一个论坛解释说十六进制可能导致问题 “DES密钥是56位,通常以8个字节打包,所以他们给你的16个字节/字符很可能是密钥的十六进制编码字节.你可以得到一个十六进制解码器” 所以...

java – RSA解密中的Android / JVM差异【代码】

我试图解密一个字符串,我已在其他地方加密.这是我的代码:private void test() {try {String stringMessage="Sf3O7Lr2+WN5szGyLejL3CjuBRZtQ72+ZBmgVTgWnatQZxUElzaBqFa1p0SVBqe9VWVxCxdEkejMVtDGEr0UJSVSK8EB/fPI6v8JE8dIu0JN0mMs4xlowhITy0tQR+1pcBtDFjzOl33xxQcq5JuPezxRDxFIp+IVkD8FdpqlttEKf2Tvqw9tqsdgiBKb5xDvKrkIDQXdLBh1gbAVZDSJYGHRkcOA8vz2ty/PeooKkfDK6IOn7KBwOBgSRgQr/MLBF3Xk2vRWgVGRh/fRkzu21EWo99Q5moWKxWl3HW/bbg...

java – 如何解密从Mifare Desfire EV1发送的第一条消息【代码】

有没有人知道如何解密从卡发送的第一条消息?我的意思是在身份验证成功后然后你发送一个命令(例如0x51(GetRealTagUID).它返回00 random32bits(总是不同).我尝试解密它:private byte[] decrypt(byte[] raw, byte[] encrypted, byte[] iv)throws Exception {IvParameterSpec ivParameterSpec = new IvParameterSpec(iv);SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");Cipher cipher = Cipher.getInstance("AES/CBC/NoPad...

java – 3DES解密错误密钥长度无效【代码】

我正在使用3DESC解密数据,但我得到以下异常java.security.InvalidKeyException: Invalid key length: 16 bytes我的代码:public static byte[] decrypt3DESCBC(byte[] keyBytes, byte[] ivBytes,byte[] dataBytes) {try {AlgorithmParameterSpec ivSpec = new IvParameterSpec(ivBytes);SecretKeySpec newKey = new SecretKeySpec(keyBytes, "DESede");Cipher cipher = Cipher.getInstance("DESede/CBC/NoPadding");cipher.init(Ci...

如何在java中用RSA密钥加密解密【代码】

我需要用openssl生成的rsaprivatekey.pem和rsapublickey.pem密钥替换从Unix到java代码的加密和解密步骤 我生成了密钥openssl genrsa -out /tmp/rsaprivatekey.pem -des3 1024 openssl rsa -in /tmp/rsaprivatekey.pem -pubout -out /tmp/rsapublickey.pem我在unix中使用键(我需要在java中执行)echo "Text to encript"| openssl rsautl -encrypt -inkey /tmp/rsapublickey.pem -pubin -out out.enc openssl rsautl -decrypt -ink...

Java / JCE:解密用RSA加密的“长”消息【代码】

我有一个包含在byte []中的消息,用“RSA / ECB / PKCS1Padding”加密.为了解密它,我创建了一个Cipher c并启动它c = Cipher.getInstance("RSA/ECB/PKCS1Padding");直到现在我只使用doFinal()方法解密小消息,返回带有解密字节的byte [].c.init(Cipher.DECRYPT_MODE, privateKey); byte[] decryptetBytes = c.doFinal(encryptedBytes);但在这种情况下,数据更大(大约500字节),并且doFinal() – 方法抛出异常(javax.crypto.IllegalBlock...

使用C#进行AES加密并使用Java进行解密

我只想确认我对AES如何工作的理解. 如果公司#1正在加密数据,并将此数据发送到公司#2进行解密,那么假设其中一个使用C#和另一个Java. 只要两者都使用相同的共享密钥,是否还有其他任何设置/配置双方都应该同意确保数据正确加密和解??密?解决方法:有很多都必须达成一致: >共享密钥 >多久了? (需要密钥填充吗?)>实际密钥是从另一个密钥或密码派生而来的吗? >使用哪个密钥派生函数以及它们的参数是什么? PBKDF2,bcrypt,scrypt,……...

在Java中加密和在C#中解密为AES 256位【代码】

1.我有java函数加密xml文件并返回加密的String./// Java Class import java.security.Key; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64;public class Crypt {public static String key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";public static byte[] key_Array = Base64.decodeBase64(key);public static String encrypt(String strToEncrypt...

java JVM-自定加密和解密类加载器【代码】

简单加密解密(取反)操作int a=3; //00000011//^异或操作,相同为1,0xff,表示一个十六进制数,表示a和1111 1111 进行异或操作,结果为1111 1100System.out.println(Integer.toBinaryString(a^0xff)); //对二进制取反,转换成二进制字符串//ff表示1111 1111,f=15 public class Lockloader {public static void main(String[] args) {encrpt("d:/myjava/HelloWorld.class","d:/myjava/com/sxt/in/HelloWorld.class"); }public static vo...

【java】java的aes加密解密的简单使用【代码】【图】

java的安全体系由四部分组成:JCA(Java Cryptography Architecture) 提供基本的加密框架,比如消息摘要、数字签名 JCE(Java Cryptography Extension) 提供基本的加密算法 比如DES、AES、RSA(非对称)算法 JSSE(Java Secure Socket Extension) 提供基于SSL的加密功能,主要用于网络传输安全 JAAS(Java Authentication and Authorization Service) 提供了java程序的各种鉴权服务高级加密标准(AES,Advanced Encryption Standard)...

在调试Java时解密变量信息

我正在使用IntelliJ IDEA 8来调试某些Java,但这个问题可能适用于所有Java调试器.在变量列表中,它们显示为:myVariable = {some.package.SomeClass@12345}我很想知道课程名称后面的数字.这个数字究竟是多少?如果两个变量是被引用的相同底层对象,那么它们是否具有相同的数字? 提前致谢.解决方法:这是JVM报告的objectId,详情请见JDWP specification.Uniquely identifies an object in thetarget VM. A particular object will beide...

java – 使用AES的Android加密/解密【代码】

在Android上如何使用AES加密和解密图像和其他文件有一个很好的例子吗?解决方法:警告:此答案包含您不应使用的代码,因为它不安全(使用SHA1PRNG进行密钥派生并在ECB模式下使用AES) 相反,在CBC或GCM模式下使用PBKDF2WithHmacSHA1进行密钥派生和AES(GCM提供隐私和完整性) 您可以使用以下函数:private static byte[] encrypt(byte[] raw, byte[] clear) throws Exception {SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");Ci...

如何使用AES解密使用openssl命令加密的Java文件?【代码】

我需要使用以下命令在JAVA中解密在UNIX中加密的文件:openssl aes-256-cbc -a -salt -in password.txt -out password.txt.enc mypass mypass我必须在java中解密,就像我在UNIX中所做的那样openssl aes-256-cbc -d -a -in password.txt.enc -out password.txt.new mypass有人可以给我一个java代码来做这个吗?解决方法:OpenSSL一般使用自己基于密码的密钥派生方法,在EVP_BytesToKey中指定,请参阅下面的代码.此外,它隐含地将密文编码为...

解密 - 相关标签