小编art*_*r97的帖子

使用 Java 在 Android 上解密 OpenSSL 加密的文件

我目前正在尝试在我的 Android 应用上实现文件解密。

该文件将使用以下内容在主机(Linux)上加密:

openssl aes-128-ecb -salt -k $HASH -in somefile.in -out somefile
openssl aes-256-cbc -salt -K $HASH -iv $IV -md sha1 -in somefile.in -out somefile
openssl aes-256-cbc -d -salt -K $HASH -md sha1 -in somefile.in -out somefile
Run Code Online (Sandbox Code Playgroud)

问题是,我无法在 Android 上正确解密这些组合(128/256、ecb/cbc、salt/nosalt、-K/-k、-md/none)中的任何一个。

它要么解密完全错误(损坏),要么抛出异常。

Exception at decryptAES
java.io.IOException: Error while finalizing cipher
    at javax.crypto.CipherInputStream.fillBuffer(CipherInputStream.java:104)
    at javax.crypto.CipherInputStream.read(CipherInputStream.java:155)
    at java.io.InputStream.read(InputStream.java:162)
    at com.temp.temp.CryptographyHelper.decryptAES(CryptographyHelper.java:58)
    at com.temp.temp.MainActivity.__prepFirstLaunch(MainActivity.java:229)
    at com.temp.temp.MainActivity.prepFirstLaunch(MainActivity.java:192)
    at com.temp.temp.MainActivity$prepthread.run(MainActivity.java:42)
Caused by: javax.crypto.BadPaddingException: EVP_CipherFinal_ex
    at com.android.org.conscrypt.NativeCrypto.EVP_CipherFinal_ex(Native Method)
    at com.android.org.conscrypt.OpenSSLCipher.doFinalInternal(OpenSSLCipher.java:430)
    at com.android.org.conscrypt.OpenSSLCipher.engineDoFinal(OpenSSLCipher.java:490)
    at javax.crypto.Cipher.doFinal(Cipher.java:1314)
    at javax.crypto.CipherInputStream.fillBuffer(CipherInputStream.java:102)
    ... …
Run Code Online (Sandbox Code Playgroud)

java encryption android openssl cryptography

2
推荐指数
1
解决办法
3426
查看次数

为iOS 5编译x264

我正在尝试将最新版本的libx264编译为iOS 5 arm.

在2010年中期,加布里埃尔的建筑脚本工作.

它不再了.

它说"找不到工作的C编译器".

任何人都可以给我直接答案吗?它是2012年,谷歌似乎没有人编译它.

ffmpeg x264

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

标签 统计

android ×1

cryptography ×1

encryption ×1

ffmpeg ×1

java ×1

openssl ×1

x264 ×1