小编Tom*_*eay的帖子

为什么编译?键入擦除

为什么以下编译?我收到警告告诉我

getTest()返回一个原始类型,因此getTestIntegers()被删除

但我不明白为什么,getTestIntegers()不是通用的.我本来希望List<String> tester = Test.getTest().getTestIntegers()产生编译错误

public class Scratchpad {

    public static void main(String[] args) {
        new Scratchpad().run();
    }

    private void run() {
        List<String> tester = Test.getTest().getTestIntegers();
    }

    private static class Test<T> {

        public static Test getTest() {
            return new Test();
        }

        public List<Integer> getTestIntegers() {
            return Collections.singletonList(1);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics

6
推荐指数
1
解决办法
94
查看次数

Android上的RSA解密 - iPhone

我正在尝试实现一个系统,其中A生成RSA密钥对并将公钥发送给B.然后生成AES密钥并使用公钥对其进行加密,将结果发送回A.然后解密AES密钥使用其RSA私钥,使用AES密钥加密数据并将其发送给B,然后B可以使用AES密钥对其进行解密.

我已经把这一切都在Android方面工作了,但是我不能让iPhone一起玩球(我是Objective C的新手,所以这可能就是为什么!)

最初,当使用RSA私钥解密AES密钥时,我收到错误9809,这无效转换为一般错误.研究错误指向填充(我正在使用PKCS1填充)是问题,切换到无填充允许iPhone客户端成功解密,但解密的AES密钥与Android客户端上生成的密钥不同.

目标C对我来说是一个新手,我确信我只是犯了一个小学生错误,有人能指出我正确的方向吗?

iPhone RSA密钥对生成

static const unsigned char _encodedRSAEncryptionOID[15] = {

    /* Sequence of length 0xd made up of OID followed by NULL */
    0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
    0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00

};

NSData * publicTag = [publicKeyIdentifier dataUsingEncoding:NSUTF8StringEncoding];

// Now lets extract the public key - build query to get bits
NSMutableDictionary * queryPublicKey = [[NSMutableDictionary alloc] init];

[queryPublicKey setObject:(__bridge id) kSecClassKey
                   forKey:(__bridge id) kSecClass];
[queryPublicKey setObject:publicTag
                   forKey:(__bridge id) …
Run Code Online (Sandbox Code Playgroud)

iphone encryption android rsa objective-c

5
推荐指数
1
解决办法
950
查看次数

标签 统计

android ×1

encryption ×1

generics ×1

iphone ×1

java ×1

objective-c ×1

rsa ×1