gpt4 book ai didi

ios - iOS 中使用 ECB 的 3DES 加密/解密

转载 作者:行者123 更新时间:2023-12-03 18:14:36 26 4
gpt4 key购买 nike

我正在制作一个应用程序,其中我必须在 ECB 模式下使用 3DES 加密来加密字符串。我正在使用“mykey”作为 key 。

+ (NSData *)tripleDesEncryptData:(NSData *)inputData
key:(NSData *)keyData
error:(NSError **)error
{
NSParameterAssert(inputData);
NSParameterAssert(keyData);

size_t outLength;

NSAssert(keyData.length == kCCKeySize3DES, @"the keyData is an invalid size");

NSMutableData *outputData = [NSMutableData dataWithLength:(inputData.length + kCCBlockSize3DES)];

CCCryptorStatus
result = CCCrypt(kCCEncrypt, // operation
kCCAlgorithm3DES, // Algorithm
0, // options
keyData.bytes, // key
keyData.length, // keylength
nil,// iv
inputData.bytes, // dataIn
inputData.length, // dataInLength,
outputData.mutableBytes, // dataOut
outputData.length, // dataOutAvailable
&outLength); // dataOutMoved

if (result != kCCSuccess) {
if (error != NULL) {
*error = [NSError errorWithDomain:@"com.your_domain.your_project_name.your_class_name."
code:result
userInfo:nil];
}
return nil;
}
[outputData setLength:outLength];
NSLog(@"here is my output %@",outputData);
return outputData;
}

由于 key 大小无效,我遇到了异常。 (我正在使用这个“我的 key ”作为我的 key )。我不是加密专家。任何形式的帮助将不胜感激。

最佳答案

您收到“无效 key 大小”,因为您的 key 大小无效。我不确定您还希望系统告诉您什么。 3DES 算法要求 key 大小为 24 字节,而“mykey”太短了。

即使不考虑长度问题,通常直接使用字符串作为加密 key 也不是一个好主意。相反,您应该使用公认的密码到 key 算法,例如 PBKDF2。

关于ios - iOS 中使用 ECB 的 3DES 加密/解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21426829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com