IOS 3DES在迅速
问题描述:
我设法通过桥接头导入CommonCryptor.h,IOS 3DES在迅速
#import <CommonCrypto/CommonCryptor.h>
然而,当我试图加密文本使用CCCrypt方法(参考对象的C的方式),我有一个编译错误。
'Int'不能转换为CCOperation。
var key:String = "wKNvJ4NuyW";
func encrypt(text: String) ->String{
var result:CCCryptorStatus = CCCrypt(
kCCEncrypt, //Error here!!! it says 'Int' is not convertible to CCOperation.
kCCAlgorithm3DES,
kCCOptionPKCS7Padding | kCCOptionECBMode,
key,
kCCKeySize3DES,
nil,
....
}
有谁告诉我怎么解决这个问题呢?为什么它在object-c中不起作用?
谢谢。
答
您必须将参数转换为预期的类型。例如,kCCEncrypt
是Int
,但第一个参数的类型为CCOperation
,这是UInt32
的别名。 相反(Objective-)C,斯威夫特不隐式转换类型:
var result = CCCrypt(
CCOperation(kCCEncrypt),
CCAlgorithm(kCCAlgorithm3DES),
CCOptions(kCCOptionPKCS7Padding | kCCOptionECBMode),
key,
UInt(kCCKeySize3DES),
...
+0
就是这样!谢谢。 – 2014-11-06 14:44:35
嗨,你可以分享你用于该整个算法中?我遇到了问题,并找不到解决方案 - http://stackoverflow.com/questions/28459736/ios-3des-with-ecb-return-half-correct-data – 2015-02-11 17:56:48