小编Gu1*_*234的帖子

无法使用开放SSL解密RSA数据

我尝试使用openssl创建的公钥在matlab中加密一些数据

我用以下方法创建了键:

openssl genrsa -des3 -out private.pem 1024
openssl rsa -in private.pem -pubout -outform DER -out public.der
Run Code Online (Sandbox Code Playgroud)

我使用这个matlab代码(使用Java库)加密我的数据:

import java.security.spec.RSAPublicKeySpec
import javax.crypto.Cipher;
import java.security.KeyFactory
import java.math.BigInteger

fid = fopen('public.der');
a = fread(fid);
key = java.security.spec.X509EncodedKeySpec(a);
kf = KeyFactory.getInstance('RSA');
KEY = kf.generatePublic(key);

cipher = Cipher.getInstance('RSA/ECB/PKCS1Padding');
cipher.init(Cipher.ENCRYPT_MODE, KEY)

plaintextBytes = [24];
ciphertext = cipher.doFinal(plaintextBytes)' ;

fid2 = fopen('msg.txt','w');
fwrite(fid2,ciphertext);
fclose(fid2);
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下方法解密它:

openssl rsautl -decrypt -inkey private.pem  -in msg.txt -keyform PEM -pkcs
Run Code Online (Sandbox Code Playgroud)

然后我收到这个错误:

RSA operation error
80305:error:0407109F:rsa routines:RSA_padding_check_PKCS1_type_2:pkcs decoding error:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-59.40.2/src/crypto/rsa/rsa_pk1.c:267:
80305:error:04065072:rsa routines:RSA_EAY_PRIVATE_DECRYPT:padding check …
Run Code Online (Sandbox Code Playgroud)

java encryption matlab rsa

11
推荐指数
1
解决办法
5560
查看次数

添加到AnimationDrawable的图像以编程方式泄漏内存

我有一个Android应用程序,有很多动画.

当我以编程方式创建动画(使用AnimationDrawable)时,非Java对象(如"DDMS堆"选项卡中所示)随着我加载的每个新动画而增长,即使我的动画发布后也不会缩小.

AnimationDrawable从我写的包装器对象中只有一个对每个对象的引用,我通过重写finalize方法并确保它被调用来验证该对象是否被释放.

最终android停止加载图像并将"内存不足"错误打印到日志中.

有趣的是,这只发生在某些设备(Motorola Xoom,Sony Experia)而其他设备(如Galaxy S)中.

从我给出的设备示例中可以看出,这个问题不是特定的Honeycomb或pre-Honeycomb.

我试过的一些事情:

  1. 完成当前动画后,在每个帧上调用回收,但似乎没有帮助.
  2. 为AnimationDrawble对象指定null
  3. 确保没有与持有动画drawable引用的类相关的静态变量
  4. 注释后确保问题消失 myAnimation.addFrame(...)

android memory-leaks

9
推荐指数
1
解决办法
1703
查看次数

标签 统计

android ×1

encryption ×1

java ×1

matlab ×1

memory-leaks ×1

rsa ×1