有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Sun JCE和BouncyCastle Android不兼容加密?

我正在将一个加密应用程序移植到Android上。RSA加密在一个平台内工作——Android版本可以解密Android应用程序上加密的内容。但在Java应用程序上加密的数据无法在Android上解密

给定相同的输入——相同的私钥模数和指数,以及相同的256字节输入块,我使用javax得到了不同的结果。加密。密码如

public java.security.PrivateKey m_privateKey;

public byte[] Decrypt(byte[] input)
{
    Cipher cipher;
    byte[] cipherData = null;
    cipher = Cipher.getInstance("RSA");
    cipher.init(Cipher.DECRYPT_MODE, m_privateKey);
    cipherData = cipher.doFinal(input);
    return cipherData;
}

在我看来,这是一个供应商问题;调试器报告Android的密码提供商是com。安卓组织。蹦蹦跳跳。jce。供应商。BouncyCastleProvider,BC版本1.49,而应用程序密码提供程序是SunJCE版本1.7

钥匙的形状也略有不同;它们的privateExponent和module匹配正确,但在应用程序中,m_privateKey被实例化为Sun RSA私钥,2048位。在Android上,它是com。安卓组织。康斯克里特。OpenSSLRSAPrivateKey尽管有上述声明

我有点不知所措。应用程序代码可以在Linux、Mac和Windows机器上工作,在客户端和服务器环境中都可以,所以我没有太多的灵活性来切换它。有没有什么办法让Android的java/crypto兼容

编辑以提供owlstead要求的内容

对于这两种情况,我都使用了:

byte[] encodedPublic = rsaencUserKeys.m_publicKey.getEncoded();
byte[] encodedPrivate = rsaencUserKeys.m_privateKey.getEncoded();
byte[] testDataIn = new byte[]{25, 99, 76, 84, 7, 104, 27, 47, 120, 86, 83, 9, 56, 77, 0};
byte[] cryptoTest = rsaencUserKeys.Encrypt(testDataIn);
byte[] plainTest = rsaencUserKeys.Decrypt(cryptoTest);

应用程序(Java)值: 编码公钥: [48, -126, 1, 34, 48, 13, 6, 9, 42, -122, 72, -122, -9, 13, 1, 1, 1, 5, 0, 3, -126, 1, 15, 0, 48, -126, 1, 10, 2, -126, 1, 1, 0, -88, -3, 17, -56, -93, -54, -29, 50, 23, -33, 20, -23, 107, 83, 5, 92, -52, -102, 119, 63, 106, -77, -84, -119, -39, -54, -37, -13, -57, -54, 127, -24, -121, 95, -120, 121, -3, 56, -125, -31, 56, 52, 91, 59, 64, 28, -33, 120, -12, -89, 86, -32, 111, 48, -1, -121, 23, 101, -122, -126, 26, -112, 82, 80, -126, -126, 59, -123, -107, -51, -85, 108, 100, -95, 123, 115, -3, -98, -44, -84, -39, -8, -110, -24, -20, -108, -49, 44, -13, -51, -92, 52, -30, -27, -75, 38, 105, -68, -28, 84, 113, 101, -3, -127, -56, 39, 121, 0, 50, 95, -94, -31, -46, 97, 84, 22, -38, 53, 34, -28, -79, 18, -110, 13, 63, -49, 13, 18, 49, 0, -120, 100, 91, -33, -50, -116, 69, 88, 112, 34, 115, -98, 67, 35, 55, 59, 54, 97, -6, -67, 10, -92, 110, -86, -24, 120, -81, 33, 105, -57, 67, -73, -24, -85, -118, 118, -69, -16, 11, 32, -32, 65, 123, 64, -90, -68, -40, -56, 96, 23, -14, 21, -49, -27, 108, 2, -8, -76, 15, 38, 34, -3, 64, 89, 117,-67、125、-78、-79、-44、47、103、81、117、-13、-1、-96、-115、37、-110、-36、-78、80、-74、24、34、-15、-5、-31、-5、-117、39、49、28、70、75、4、-48、-49、3、-14、36、0、-4、-111、-60、96、-105、-2、-76、101、-107、-105、-60、66、121、33、-72、8、31、-31、52、121、-90、-73、2、3、1、0、1]

编码私钥: [48, -126, 2, 56, 2, 1, 0, 48, 13, 6, 9, 42, -122, 72, -122, -9, 13, 1, 1, 1, 5, 0, 4, -126, 2, 34, 48, -126, 2, 30, 2, 1, 0, 2, -126, 1, 1, 0, -88, -3, 17, -56, -93, -54, -29, 50, 23, -33, 20, -23, 107, 83, 5, 92, -52, -102, 119, 63, 106, -77, -84, -119, -39, -54, -37, -13, -57, -54, 127, -24, -121, 95, -120, 121, -3, 56, -125, -31, 56, 52, 91, 59, 64, 28, -33, 120, -12, -89, 86, -32, 111, 48, -1, -121, 23, 101, -122, -126, 26, -112, 82, 80, -126, -126, 59, -123, -107, -51, -85, 108, 100, -95, 123, 115, -3, -98, -44, -84, -39, -8, -110, -24, -20, -108, -49, 44, -13, -51, -92, 52, -30, -27, -75, 38, 105, -68, -28, 84, 113, 101, -3, -127, -56, 39, 121, 0, 50, 95, -94, -31, -46, 97, 84, 22, -38, 53, 34, -28, -79, 18, -110, 13, 63, -49, 13, 18, 49, 0, -120, 100, 91, -33, -50, -116, 69, 88, 112, 34, 115, -98, 67, 35, 55, 59, 54, 97, -6, -67, 10, -92, 110, -86, -24, 120, -81, 33, 105, -57, 67, -73, -24, -85, -118, 118, -69, -16, 11, 32, -32, 65, 123, 64, -90, -68, -40, -56, 96, 23, -14, 21, -49, -27, 108, 2, -8, -76, 15, 38, 34, -3, 64, 89, 117, -67, 125, -78, -79, -44, 47, 103, 81, 117, -13, -1, -96, -115, 37, -110, -36, -78, 80, -74, 24, 34, -15, -5, -31, -5, -117, 39, 49, 28, 70, 75, 4, -48, -49, 3, -14, 36, 0, -4, -111, -60, 96, -105, -2, -76, 101, -107, -105, -60, 66, 121, 33, -72, 8, 31, -3, -31, 52, 121, -90, -73, 2, 1, 0, 2, -126, 1, 0, 96, 69, -116, 84, 25, -68, 4, 35, 13, -90, 113, 107, 105, 81, 42, -60, -21, 107, 52, 116, 84, 125, 119, -42, 48, -43, 120, -23, 48, -15, 20, 93, -116, -127, -56, 102, 118, -12, 51, 109, -93, 111, 112, 106, 24, -28, 90, 11, -74, -107, 126, -48, -19, -121, -92, -117, 121, -80, -59, 40, 105, -87, -66, -69, 79, 30, -110, 122, 80, 21, -109, -117, 116, -24, -22, 67, -14, 65, 2, 56, 87, 21, 93, -36, -124, -85, 98, 59, -31, -55, 77, -69, 51, 104, 90, 3, 64, 73, -12, 106, -121, 15, -21, -108, 124, 74, -64, -116, 116, 38, 55, -51, 30, -27, -125, -38, 97, 5, -44, -109, 36, -83, -57, -74, -12, -101, 40, 126, 62, -81, -10, -61, -8, -113, -41, 17, -3, 84, 83, 94, 36, 3, 16, 8, -76, 74, 116, 85, 114, 30, 86, -51, 126, 122, 80, 52, 100, -41, -105, -20, 67, -128, -23, -26, -68, 118, 56, -35, 81, -15, -34, -32, 93, -88, 75, 92, 126, -1, 27, -117, 122, -81, -114, -32, -13, 94, -92, 121, 85, 39, 67, 42, -86, 95, 5, -19, 58, 127, -4, -34, 12, 35, 26, 6, 88, 112, -121, 24, -96, 96, 119, 119, -99, -72, -13, 6, 48, -78, -88, 106, 88, -13, -29, 9, 108, 124, 22, -110, 79, 83, -16, 108, -17, -88, 59, 19, -124, -75, 47, -71, 31, -35, 35, 54, 68, 43, -60, -36, 72, 52, 122, 119, 4, 101, -117, -127, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1,0]

CrytoTest: [73, 116, -22, -83, -50, -107, 21, -119, -110, -63, 3, 48, 23, 3, -117, 66, -7, -114, -109, 52, 29, -97, -92, 23, 29, -48, 93, -119, -124, -111, -98, 54, 113, 46, -18, 39, -56, 1, -89, 70, -100, 78, -87, 98, -3, 6, 0, 79, 43, -127, 53, -75, -36, -104, -94, -86, 32, 38, -29, -98, 74, -124, 6, -42, 23, -7, -4, -90, 104, 55, -37, -26, -99, -119, 5, 13, -73, 6, 48, 58, -72, 95, -43, -76, -65, -35, 14, 113, 75, -55, 50, 5, 93, 96, 127, 48, -71, 70, 89, -52, -116, -21, 57, -13, -83, -81, -43, 99, 7, -38, 1, 3, -124, 55, 59, 54, -91, 85, -28, 92, 56, 109, -12, -44, 62, -13, -18, -59, 120, -113, -35, -86, -81, -65, -16, -29, -119, -120, 121, -20, -8, -6, 99, 46, 106, 11, 94, 51, 49, 105, -5, 104, -2, -65, -66, -100, -50, -124, 80, 59, -22, 62, 77, 106, 46, -14, 60, -11, 36, -119, 2, -74, -55, 1, 91, -63, -96, -113, -102, 53, -5, 33, 23, 82, 13, 77, 63, 84, -21, -37, 14, -1, 1, -5, -126, 66, 36, 74, -46, -76, -9, -76, 119, -116, 55, -50, -118, -6, -36, -32, -29, -57, -52, 8, 116, 39, -3, 47, -93, -1, -63, 105, 39, -3, -18, -109, -26, 94, 126, -16, -12, -24, 59, 37, -107, -92, -68, 35, -45, 116, -27, -33, -101, -85, -67, -67, 117, 59, -37, 49, -9, -4, -63, 63, 11, 89] 普通测试: [25,99,76,84,7,104,27,47,120,86,83,9,56,77,0]

Android的价值观: 编码公众: [48, -126, 2, 33, 48, 13, 6, 9, 42, -122, 72, -122, -9, 13, 1, 1, 1, 5, 0, 3, -126, 2, 14, 0, 48, -126, 2, 9, 2, -126, 1, 1, 0, -88, -3, 17, -56, -93, -54, -29, 50, 23, -33, 20, -23, 107, 83, 5, 92, -52, -102, 119, 63, 106, -77, -84, -119, -39, -54, -37, -13, -57, -54, 127, -24, -121, 95, -120, 121, -3, 56, -125, -31, 56, 52, 91, 59, 64, 28, -33, 120, -12, -89, 86, -32, 111, 48, -1, -121, 23, 101, -122, -126, 26, -112, 82, 80, -126, -126, 59, -123, -107, -51, -85, 108, 100, -95, 123, 115, -3, -98, -44, -84, -39, -8, -110, -24, -20, -108, -49, 44, -13, -51, -92, 52, -30, -27, -75, 38, 105, -68, -28, 84, 113, 101, -3, -127, -56, 39, 121, 0, 50, 95, -94, -31, -46, 97, 84, 22, -38, 53, 34, -28, -79, 18, -110, 13, 63, -49, 13, 18, 49, 0, -120, 100, 91, -33, -50, -116, 69, 88, 112, 34, 115, -98, 67, 35, 55, 59, 54, 97, -6, -67, 10, -92, 110, -86, -24, 120, -81, 33, 105, -57, 67, -73, -24, -85, -118, 118, -69, -16, 11, 32, -32, 65, 123, 64, -90, -68, -40, -56, 96, 23, -14, 21, -49, -27, 108, 2, -8, -76, 15, 38, 34, -3, 64, 89, 117, -67, 125, -78, -79, -44, 47, 103, 81, 117, -13, -1, -96, -115, 37, -110, -36, -78, 80, -74, 24, 34, -15, -5, -31, -5, -117, 39, 49, 28, 70, 75, 4, -48, -49, 3, -14, 36, 0, -4, -111, -60, 96, -105, -2, -76, 101, -107, -105, -60, 66, 121, 33, -72, 8, 31, -3, -31, 52, 121, -90, -73, 2, -126, 1, 0, 96, 69, -116, 84, 25, -68, 4, 35, 13, -90, 113, 107, 105, 81, 42, -60, -21, 107, 52, 116, 84, 125, 119, -42, 48, -43, 120, -23, 48, -15, 20, 93, -116, -127, -56, 102, 118, -12, 51, 109, -93, 111, 112, 106, 24, -28, 90, 11, -74, -107, 126, -48, -19, -121, -92, -117, 121, -80, -59, 40, 105, -87, -66, -69, 79, 30, -110, 122, 80, 21, -109, -117, 116, -24, -22, 67, -14, 65, 2, 56, 87, 21, 93, -36, -124, -85, 98, 59, -31, -55, 77, -69, 51, 104, 90, 3, 64, 73, -12, 106, -121, 15, -21, -108, 124, 74, -64, -116, 116, 38, 55, -51, 30, -27, -125, -38, 97, 5, -44, -109, 36, -83, -57, -74, -12, -101, 40, 126, 62, -81, -10, -61, -8, -113, -41, 17, -3, 84, 83, 94, 36, 3, 16, 8, -76, 74, 116, 85, 114, 30, 86, -51, 126, 122, 80, 52, 100, -41, -105, -20, 67, -128, -23, -26, -68, 118, 56, -35, 81, -15, -34, -32, 93, -88, 75, 92, 126, -1, 27, -117, 122, -81, -114, -32, -13, 94, -92, 121, 85, 39, 67, 42, -86, 95, 5, -19, 58, 127, -4, -34, 12, 35, 26, 6, 88, 112, -121, 24, -96, 96, 119, 119, -99, -72, -13, 6, 48,[78、-88、106、88、-13、-29、9、108、124、22、-110、79、83、-16、108、-17、-88、59、19、-124、-75、47、-71、31、-35、35、54、68、43、-60、-36、72、52、122、119、4、101、-117、-127]

编码私人: [48, -126, 2, 38, 2, 1, 0, 48, 13, 6, 9, 42, -122, 72, -122, -9, 13, 1, 1, 1, 5, 0, 4, -126, 2, 16, 48, -126, 2, 12, 2, 1, 0, 2, -126, 1, 1, 0, -88, -3, 17, -56, -93, -54, -29, 50, 23, -33, 20, -23, 107, 83, 5, 92, -52, -102, 119, 63, 106, -77, -84, -119, -39, -54, -37, -13, -57, -54, 127, -24, -121, 95, -120, 121, -3, 56, -125, -31, 56, 52, 91, 59, 64, 28, -33, 120, -12, -89, 86, -32, 111, 48, -1, -121, 23, 101, -122, -126, 26, -112, 82, 80, -126, -126, 59, -123, -107, -51, -85, 108, 100, -95, 123, 115, -3, -98, -44, -84, -39, -8, -110, -24, -20, -108, -49, 44, -13, -51, -92, 52, -30, -27, -75, 38, 105, -68, -28, 84, 113, 101, -3, -127, -56, 39, 121, 0, 50, 95, -94, -31, -46, 97, 84, 22, -38, 53, 34, -28, -79, 18, -110, 13, 63, -49, 13, 18, 49, 0, -120, 100, 91, -33, -50, -116, 69, 88, 112, 34, 115, -98, 67, 35, 55, 59, 54, 97, -6, -67, 10, -92, 110, -86, -24, 120, -81, 33, 105, -57, 67, -73, -24, -85, -118, 118, -69, -16, 11, 32, -32, 65, 123, 64, -90, -68, -40, -56, 96, 23, -14, 21, -49, -27, 108, 2, -8, -76, 15, 38, 34, -3, 64, 89, 117, -67, 125, -78, -79, -44, 47, 103, 81, 117, -13, -1, -96, -115, 37, -110, -36, -78, 80, -74, 24, 34, -15, -5, -31, -5, -117, 39, 49, 28, 70, 75, 4, -48, -49, 3, -14, 36, 0, -4, -111, -60, 96, -105, -2, -76, 101, -107, -105, -60, 66, 121, 33, -72, 8, 31, -3, -31, 52, 121, -90, -73, 2, -126, 1, 0, 96, 69, -116, 84, 25, -68, 4, 35, 13, -90, 113, 107, 105, 81, 42, -60, -21, 107, 52, 116, 84, 125, 119, -42, 48, -43, 120, -23, 48, -15, 20, 93, -116, -127, -56, 102, 118, -12, 51, 109, -93, 111, 112, 106, 24, -28, 90, 11, -74, -107, 126, -48, -19, -121, -92, -117, 121, -80, -59, 40, 105, -87, -66, -69, 79, 30, -110, 122, 80, 21, -109, -117, 116, -24, -22, 67, -14, 65, 2, 56, 87, 21, 93, -36, -124, -85, 98, 59, -31, -55, 77, -69, 51, 104, 90, 3, 64, 73, -12, 106, -121, 15, -21, -108, 124, 74, -64, -116, 116, 38, 55, -51, 30, -27, -125, -38, 97, 5, -44, -109, 36, -83, -57, -74, -12, -101, 40, 126, 62, -81, -10, -61, -8, -113, -41, 17, -3, 84, 83, 94, 36, 3, 16, 8, -76, 74, 116, 85, 114, 30, 86, -51, 126, 122, 80, 52, 100, -41, -105, -20, 67, -128, -23, -26, -68, 118, 56, -35, 81, -15, -34, -32, 93, -88, 75, 92, 126, -1, 27, -117, 122, -81, -114, -32, -13, 94, -92, 121, 85, 39, 67, 42, -86, 95, 5, -19, 58, 127, -4, -34, 12, 35, 26, 6, 88, 112, -121, 24, -96, 96, 119, 119, -99, -72, -13, 6, 48, -78, -88, 106, 88, -13, -29, 9, 108, 124, 22, -110, 79, 83, -16, 108, -17,[88、59、19、-124、-75、47、-71、31、-35、35、54、68、43、-60、-36、72、52、122、119、4101、-117、-127]

加密测试: [114, 116, 59, -51, -71, 99, 66, -34, 13, -31, 119, 8, -80, 107, 78, -67, 96, -122, -66, 122, 41, -114, -29, 105, -60, -38, 114, 101, -90, 5, 115, 96, -66, 4, 41, -48, 7, -77, -9, 47, -9, -2, -122, -60, -76, -58, -56, -116, 122, -7, -68, -4, 88, -77, 47, -109, -46, 44, -51, 57, 73, -21, -64, 10, 57, 64, -80, -85, 107, 21, 62, 42, -74, 49, -95, -37, 24, 38, 107, 83, 86, 70, -108, -82, -18, -77, -53, -128, 9, -32, 112, -122, 114, 24, 107, 89, -4, -43, 117, -97, -52, 95, 35, -1, -70, 57, 109, 64, 27, 51, -80, 63, -91, 6, 108, -10, -104, 111, 7, -80, 42, -3, 26, 92, 11, -1, 77, 19, 22, 66, 103, 119, 61, 8, -7, -83, 107, 0, 44, 60, -93, 22, -125, 87, -107, 90, -112, -16, 89, 83, 96, -78, -13, 15, 27, 95, 100, -122, 48, 63, -127, 2, -128, 124, -90, -52, -98, -78, -43, -112, -122, -20, -95, 1, 97, -51, -31, 17, -110, 114, 123, 116, -76, -118, 90, -93, -70, 68, 51, -114,15、-49、127、85、55、-14、-14、76、85、37、-44、-72、0、114、87、-87、-6、33、37、4、-32、117、29、47、118、-42、119、-99、64、62、-30、98、-37、23、-59、84、-9、-120、-31、99、-14、-85、-21、-100、120、18、-15、83、96、123、-114、16、34、24、-78、-38、-126、-111、-43、112、-115、-53、-32]

普通测试: [23, -76, -95, 117, 34, -100, 103, -120, -78, 111, -95, -9, 60, -110, 103, 81, -87, 43, 15, 84, -43, -31, -31, 24, -9, 53, 98, 120, -2, 46, -3, 78, 62, -112, -100, 104, -33, 60, 127, -128, -85, 24, -42, 47, -112, 88, -88, 64, -122, 29, -99, 13, -90, -27, -41, 87, 39, 28, 70, -89, -92, 76, 99, -116, -122, 85, -86, 8, 13, 2, 61, 6, -106, 66, -14, -100, -117, -26, -95, -106, 97, 40, -64, -62, 88, 35, -50, 121, 1, 10, 40, 106, -80, -37, -72, 69, -17, 81, 74, -48, -120, 28, -58, 76, 59, 126, -113, 126, -117, -51, -34, 120, -67, -17, -28, 86, -80, 40, 96, -15, -117, -123, 126, -3, 9, 67, -16, 84, 98, -75, 41, 79, 118, 1, 38, 6, 79, 88, -8, -82, -104, 87, -42, 16, 64, 77, -84, 117, -95, 61, -33, 66, -117, -20, -95, 105, -59, 97, -35, -102, 110, 56, -52, -3, 75, 57, -95, 37, -115, 95, -78, -108, -106, 97, 16, 22, -90, 114, -8, 4, -97, -6, 97, 123, 96, -58, -46, -46, 44, 27, 24, -52, -63, 21, -92, -40, -41, -92, 103, -24, -58, 47, -96, -14, -100, -50, 121, 18, 86, 26, 42, 102, 5, -53, -65, 64, 111, -78, 117, -103, -24, 36, 95, -54, 69,[124、-112、99、-62、-113、-58、-5、-93、80、24、76、121、-41、31、-61、47、0、-114、12、-7、-6、-112、19、-124、-41、-88、-6、-41、57、78、-56]


共 (0) 个答案