草庐IT

java - 在 Android 中以 PKCS#1 格式在 Android 中生成 RSA key

我正在尝试在Android中以PKCS#1的形式生成RSA公钥。这里几乎完全重复了这个问题:GeneratingRSAkeysinPKCS#1formatinJava尽管如此,作者从未回应过。我浏览了答案,但一直无法找到有用的东西。我得出的结论(除非其他人有不同的答案)必须使用BouncyCaSTLe来完成。我在使用充气城堡时遇到的唯一问题实际上是在Android中使用它。我“似乎”正确导入了jar(我说“似乎”是因为我以前从未做过,但这是一个相当轻松的过程,我在Eclipse中没有收到任何错误)但是,然后我在日志cat中收到错误.03-2522:25:58.780:E/Android

android - 使用在 Ruby 中生成的 RSA public.pem 文件在 Android 中加密数据

很抱歉问一个特定的问题,但我需要在java代码中生成一个“签名”,例如ruby​​中的以下代码行:signature=OpenSSL::PKey::RSA.new(File.read("PUBLIC_PEM_PATH")).public_encrypt('SECRET_KEY')我有.pemkey文件和类似于以下内容的SECRET_KEY:F6qxlwQTYWRM3gRfgftryKJHKYZiGXdoy5lDm4我该怎么做?谢谢!更新1我试过这个:FilepubKeyFile=newFile(keyFileName);DataInputStreaminputStream;byte[]

php - 在android(客户端)中加密密码并使用rsa在服务器端PHP中解密

我已经用rsa在android(客户端)中加密了我的密码。众所周知,它使用公钥加密和私钥解密。我像下面的代码一样生成公钥和私钥KeyPairGeneratorgen=KeyPairGenerator.getInstance(RSA);gen.initialize(1024,newSecureRandom());KeyPairkeyPair=gen.generateKeyPair();uk=keyPair.getPublic();rk=keyPair.getPrivate();我用这个key在android中成功加密和解密了。但是在服务器端,处理解密的人需要我的私钥作为生成的结果。我如何

java - 使用具有给定模数和指数的 RSA 算法在 Android 中加密

我以前在C#中使用RSACryptoServiceProvider来加密一些数据,现在我必须在Android程序中复制这种加密。我希望我的Android程序生成与我在C#程序中获得的结果相同的结果。公钥:zz4qdc39y1BHyJgVXUkINJSbsUd1ZJPISyE9nNGjqgR+ZO1a4cE3ViVCSZCw+6dBdVMFNjzZPBxl0mT57GIq7rcuoT0scesZgxOftbMasPbxp0BGrh3HTpbBMJdCopgcYV98CZERakb8Pgbb0ne/DiW9Aq0kfTBE02/iEHRNuqMNfo1GFo55m0OKbxVoM6UBb8

android - RSA 解密跨 Android - iPhone

我正在尝试实现一个系统,其中A生成RSAkey对并将公钥发送给B。B然后生成AESkey并使用公钥对其进行加密,将结果发送回A。然后A解密AESkey使用其RSA私钥,使用AESkey加密数据并将其发送给B,然后B可以使用AESkey解密它。我已经在Android端实现了这一切,但我无法让iPhone端发挥作用(我是ObjectiveC的新手,所以这可能就是原因!)最初,我在使用RSA私钥解密AESkey时收到错误9809,这无助于转换为一般错误。研究错误指向填充(我正在使用PKCS1填充)是问题所在,切换到无填充允许iPhone客户端成功解密,但解密的AESkey与Android客户

java - 未使用 RSA 加密加密的大数据

我的问题:我的加密代码在64个字符以下时工作正常。但如果它超过64个字符,我会收到以下错误javax.crypto.IllegalBlockSizeException:inputmustbeunder64bytes加密代码cipher=Cipher.getInstance("RSA/ECB/PKCS1Padding);cipher.init(Cipher.ENCRYPT_MODE,publicKey);encryptedBytes=cipher.doFinal(message.getBytes(StandardCharsets.UTF_8));rsaEncrypted=Base64.e

java - 具有 RSA 签名的 SHA256 在各种 Android 设备上返回不同的输出

我正在开发一个Android应用程序,我需要使用javaSignatureclass用于数据认证。在每台Android设备上,我都可以签署数据并验证其签名。但是,给定要签名的确定数据block、确定的模数、确定的私有(private)指数和确定的公共(public)指数,我的签名输出会有所不同,具体取决于设备。我确实尝试了一堆设备,并且我获得了适用于Android3.2和3.2.1的相同签名,但获得了适用于Android2.2.x设备的不同签名。我根据之前在java项目中使用带有RSA的KeyFactory生成的常量字段计算这些签名。key大小为2048位。这是我用来调用签名和验证的代

java - bouncycaSTLe 是否支持 RSA PKCS1-OAEP 填充?

我正在Java/Android中实现加密代码以匹配iOS加密。在iOS中,使用以下填充方案使用RSA进行加密:PKCS1-OAEP但是,当我尝试使用PKCS1-OAEP创建密码时。Cipherc=Cipher.getInstance("RSA/None/PKCS1-OAEP","BC");下面是堆栈跟踪javax.crypto.NoSuchPaddingException:PKCS1-OAEPunavailablewithRSA.atcom.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi.engineS

java - 在 Android 中使用 base64 编码的公钥进行 RSA 加密

如何使用base-64编码的公钥对字节数组进行RSA加密?在阅读了关于如何在Java中进行RSA加密的几篇文章(谷歌搜索)后,找到了以下fragmentpublicbyte[]rsaEncrypt(byte[]data){PublicKeypubKey=readKeyFromFile("/public.key");Ciphercipher=Cipher.getInstance("RSA");cipher.init(Cipher.ENCRYPT_MODE,pubKey);byte[]cipherData=cipher.doFinal(src);returncipherData;}我将公钥

android - 如何创建具有无限有效性的 Android keystore RSA key ?

这里是howGooglesuggestscreatinganAndroidkeystore:keytool-genkey-v-keystoremy-release-key.keystore-aliasalias_name\-keyalgRSA-keysize2048-validity10000虽然10000天似乎是永恒,但27年的时间可能比您想象的要快,而且RSA可能仍在使用中。如果现在调整命令行参数有0.01%的机会在未来挽救我的市场份额,我愿意这样做。问题:如何使这个有效期尽可能长? 最佳答案 “1000年”示例:我也毫无问题地