jjzjj

java - android cipher 不解密加密数据的前 16 个字节/字符

我正在开发文件加密/解密应用程序。我正在使用一个简单的.txt文件进行测试。当我从应用程序中选择文件并选择加密时,整个文件数据都会被加密。但是,当我解密时,只有部分文件数据被解密。出于某种原因,前16个字节/字符没有被解密。test_file.txt内容:“这句话用来检查文件加解密结果。”加密结果:"¾mÁSTÐÿT:Y„"O¤]ÞPÕµß~ëqrÈb×ßq²¨†ldµJ,O|56\e^-'@þûÝû"解密结果:"£ÿÒÜÑàh]VÄþ„-用于检查文件加密/解密结果。"logcat中没有任何错误。我做错了什么?加密文件的方法:publicvoidencryptFile(Stringpa

AndroidKeystore NoSuchAlgorithm 异常

我正在尝试初始化一个用于加密和解密的Cipher对象。Stringcipher=privateKey.getAlgorithm()+"/ECB/PKCS1Padding";mCipher=Cipher.getInstance(cipher,"AndroidKeyStore");我在android上不断收到以下异常:System.err:java.security.NoSuchAlgorithmException:ProviderAndroidKeyStoredoesnotprovideRSA/ECB/PKCS1Padding03-2000:28:38.2701981721488WSys

java - ArrayIndexOutOfBoundsException : too much data for RSA block

我的android应用程序有一些问题。我正在尝试与RSA加密/解密相关的应用程序。这是我的问题:我可以清楚地加密短句,但是当我尝试将此消息解密为原始文本时,我给出了一个错误(“RSAblock的数据太多”)。而且,如果我想加密一个长句子,我也会遇到同样的错误。我搜索了这个问题,并在这个网站上找到了一些解决方案:Site1Site2Site3但是我什么都不懂,这些解决方案太复杂了。我该如何解决这个问题,谁能给我一个更简单的解决方案?谢谢。编辑:这些是我用于该项目的代码块。publicStringRSAEncrypt(Stringplain)throwsNoSuchAlgorithmExc

android - 即时解密音频/视频到 MediaPlayer

我已经四处寻找了几天,但无法得到关于如何去做的明确答案。我的sdcard上有一些加密的音频/视频文件,我想播放这些文件并将其发送到MediaPlayer,并在解密同时进行的同时开始播放。它最初创建一个缓冲区,当它有足够的初始数据开始播放时,MediaPlayer将开始播放,并在后台解密并继续发送数据。我环顾四周,大多数解决方案似乎都指向拥有一个本地httpserver,然后将文件发送到服务器,当它返回时,它将像直播流一样开始播放音频/视频。我不知道的是解密代码是从哪里来的?在服务器端?如果有,在哪一部分?我也看过这个http://libeasy.alwaysdata.net/解决方案,

android - 无效 key 异常 : Only SecretKey is supported

我最近开始在设备中看到此错误。java.security.InvalidKeyException:OnlySecretKeyissupportedatcom.android.org.conscrypt.OpenSSLCipher.checkAndSetEncodedKey(OpenSSLCipher.java:436)atcom.android.org.conscrypt.OpenSSLCipher.engineInit(OpenSSLCipher.java:273)atjavax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2

java - 非对称加密差异 - Android 与 Java

我最近开始编写我用Java编写的在线游戏的Android版本。但是,我遇到了与加密不一致的问题。Java应用程序工作正常-它从文件中读取公钥,加密一些文本并将其传递到服务器,在服务器上使用私钥正确解密。在android上,一切似乎都正常(并且正在运行相同的代码),但是服务器有一个BadPaddingException试图解密消息。我在下面包含了所有相关代码和事件的逐步顺序:连接到服务器后发生的第一件事是对称key的协议(protocol)。这是在客户端生成的,因此:SecretKeysymmetricKey=null;try{KeyGeneratorkeyGen=KeyGenerato

Android AES 256 位加密数据

所以我看过很多示例,进行了大量谷歌搜索,还查看了StackOverflow上的示例……我需要帮助。我有一个Android应用程序,我在设备上存储用户名和密码,我需要对它们进行AES256加密。从示例来看,这是我目前所拥有的:publicclassSecurity{Cipherecipher;Cipherdcipher;//8-byteSaltbyte[]salt={(byte)0xA9,(byte)0x9B,(byte)0xC8,(byte)0x32,(byte)0x56,(byte)0x35,(byte)0xE3,(byte)0x03};//Iterationcountintiter

java - Android 上的 AES 解密太慢而无法使用。 NDK会更快吗?其他想法?

我已经使用内置的Cipher类在Android上实现了AES/CTR。就我的目的而言,解密似乎太慢了,一个128KB的block在模拟器上解密大约需要6秒,在SamsungGalaxy硬件上需要2.6秒。我想知道使用NDK构建OpenSSL并调用其方法是否会更快。有人对这个有经验么?我的一部分想要相信Cipher("AES/CTR/NoPadding")方法只是nativeOpenSSL调用的包装器,因为支持Android的Linux操作系统应该安装了libcrypto。如果是这种情况,那么尝试使用NDK只会浪费时间,因为预期不会提高性能。我没有费心在iOS上计时,但即使是3G硬件解密

安卓 8.0 : IllegalBlocksizeException when using RSA/ECB/OAEPWithSHA-512AndMGF1Padding

我通常会在这里找到大部分问题的答案,但这次我需要问:-)。我们在Android8.0(API级别26)上运行的一个应用程序中遇到了RSA加密/解密问题。我们一直在将RSA与“RSA/ECB/OAEPWithSHA-256AndMGF1Padding”一起使用,它在Android7.1之前的所有版本上都能正常工作。在Android8.0上运行的相同代码在调用Cipher.doFinal()时抛出IllegalBlocksizeException。这里是重现问题的代码:privateKeyStoremKeyStore;privatestaticfinalStringKEY_ALIAS="M

httpie 报错 无法使用: ImportError: cannot import name ‘DEFAULT_CIPHERS‘ from ‘urllib3.util.ssl_‘

http--versionTraceback(mostrecentcalllast): File"",line198,in_run_module_as_main File"",line88,in_run_code File"C:\Python\Python311\Scripts\http.exe\__main__.py",line7,in File"C:\Python\Python311\Lib\site-packages\httpie\__main__.py",line8,inmain  fromhttpie.coreimportmain File"C:\Python\Python311\L