0
我在解密Cocoa環境中的RSA公鑰時遇到了麻煩。 我已經加密哈希,與-----BEGIN PUBLIC KEY-----
警衛public.pem公共密鑰(由OpenSSL的生成)在Cocoa中解密RSA公鑰
NSData *encryptedData = base64dec(license);
NSString *publicKeyPath = [[NSBundle mainBundle] pathForResource:@"public" ofType:@"pem"];
NSData *publicKeyData = [NSData dataWithContentsOfFile:publicKeyPath];
SSCrypto *crypto = [[SSCrypto alloc] initWithPublicKey:publicKeyData];
[crypto setClearTextWithData:encryptedData];
[crypto verify];
NSString *verifiedKey = [crypto clearTextAsString];
但verifiedKey
始終是零。看起來像SSCrypto無法將NSData轉換爲NSString。我怎樣才能真正獲得數據解密?
結束了使用此代碼(以排除BASE64解碼步驟)
[crypto setCipherTextFromBase64String:license];
NSString *verifiedKey = [crypto clearTextAsString];
但是verifiedKey
始終是一個空字符串。這是什麼意思?輸入數據似乎是正確的。
請看看我的更新。現在我得到空字符串,這是什麼意思? – asdf 2013-02-23 17:50:37
@dig你在哪裏獲得你的base64編碼/解碼功能?我建議你使用SSCrypto中提供的base64功能,因爲放置換行符的位置(等等)可能導致SSCrypto無法解碼用其他庫編碼的數據。 – user2015453 2013-02-23 18:10:03