jjzjj

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

node.js - NodeJS 加密 : re-use cipher object to improve performance

我想要nodejs和加密的MongoDB数据库。我担心性能。考虑以下用例:我有一个加密数据库,我从中检索加密字符串列表(例如名称)[_encrypted_name_1,_encrypted_name_2,...]我想解密该列表中的所有元素因为我很关心性能,所以我做了一些测试来解决这个问题。我观察到,与加密/解密非常大的字符串相比,加密/解密大量小字符串的速度非常慢。考虑以下示例:varcrypto=require('crypto'),_=require('lodash'),encryptedStringArray=[],decryptedStringArray=[],encrypted

Windows 11 学院:使用 Cipher 命令擦除已删除数据,让其不可恢复

10月27日消息,用户通过Cipher命令,可以在 Win10、Win11 系统中,在不格式化的情况下,擦除已删除的数据,让其无法恢复。IT之家注:Cipher.exe 是(包含在Windows2000)的命令行工具可用来管理通过使用加密文件系统(EFS)加密的数据。微软随后升级改进 Cipher.exe 工具,开发在硬盘提供永久覆盖(或"擦除")的所有已删除数据的能力。用户删除文件或者文件夹之后,系统并不会从硬件中删除完整数据,在被其它数据覆盖之前,只是对其进行标记,后续可以通过各种方式进行恢复。重要的事情说三遍:操作有风险,操作之前请确保做好数据备份。操作有风险,操作之前请确保做好数据备份

在Mac OS和Windows上如何检查支持的SSL/TLS版本和Cipher Suite?

本文介绍了在MacOS和Windows操作系统上使用openssl工具检查支持的SSL/TLS版本和密码套件的方法。SSL/TLS是一种重要的加密协议,用于确保网络通信的安全性。在MacOS和Windows操作系统上,您可以使用openssl工具来检查系统支持的SSL/TLS版本和密码套件。在Windows上可以使用Gitbash(每个程序员都会安装Git)自带的openssl工具检查支持的SSL/TLS版本和CipherSuite.显示系统支持的SSL/TLS版本opensslciphers-v|awk'{print$2}'|sort|uniq这个命令将显示系统支持的SSL/TLS版本。列出