我目前正在尝试在我的 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) 我正在尝试将最新版本的libx264编译为iOS 5 arm.
在2010年中期,加布里埃尔的建筑脚本工作.
它不再了.
它说"找不到工作的C编译器".
任何人都可以给我直接答案吗?它是2012年,谷歌似乎没有人编译它.