ios 字符加密问题 字符串加密gyb字符返回空
来源:互联网 发布:淘宝入驻条件费用标准 编辑:程序博客网 时间:2024/04/29 13:32
本人是ios菜鸟,最近在对字符加密的时候,发现一个很奇怪的问题,
就是其他字符或者字符串返回都是正常,唯独只有gyb返回空,代码如下
+(NSString *)DESSecret:(NSString *)plainText
{
NSString *ciphertext = nil;
NSData *textData = [plainText dataUsingEncoding:NSUTF8StringEncoding];
NSUInteger dataLength = [textData length];
unsigned char buffer[dataLength];
memset(buffer, 0, sizeof(char));
size_t numBytesEncrypted = 0;
NSRange range;
range.location=0;
range.length=dataLength;
NSString *testString =key;
NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];
Byte *testByte = (Byte *)[testData bytes];
CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, kCCAlgorithmDES,
kCCOptionPKCS7Padding,
[key UTF8String], kCCKeySizeDES,
testByte,
[textData bytes], dataLength,
buffer, 1024,
&numBytesEncrypted);
if (cryptStatus == kCCSuccess) {
ciphertext=[DESHandleString parseByte2HexString:buffer];
}
return ciphertext;
}
+(NSString *) parseByte2HexString:(Byte *) bytes
{
NSMutableString *hexStr = [[NSMutableString alloc]init];
int i = 0;
if(bytes)
{
while (bytes[i] != '\0')
{
NSString *hexByte = [NSString stringWithFormat:@"%x",bytes[i] & 0xff];///16进制数
if([hexByte length]==1)
[hexStr appendFormat:@"0%@", hexByte];
else
[hexStr appendFormat:@"%@", hexByte];
i++;
}
}
NSLog(@"bytes 的16进制数为:%@",hexStr);
return hexStr;
}
求大神指点啊 ,我实在搞不懂啊
就是其他字符或者字符串返回都是正常,唯独只有gyb返回空,代码如下
+(NSString *)DESSecret:(NSString *)plainText
{
NSString *ciphertext = nil;
NSData *textData = [plainText dataUsingEncoding:NSUTF8StringEncoding];
NSUInteger dataLength = [textData length];
unsigned char buffer[dataLength];
memset(buffer, 0, sizeof(char));
size_t numBytesEncrypted = 0;
NSRange range;
range.location=0;
range.length=dataLength;
NSString *testString =key;
NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];
Byte *testByte = (Byte *)[testData bytes];
CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, kCCAlgorithmDES,
kCCOptionPKCS7Padding,
[key UTF8String], kCCKeySizeDES,
testByte,
[textData bytes], dataLength,
buffer, 1024,
&numBytesEncrypted);
if (cryptStatus == kCCSuccess) {
ciphertext=[DESHandleString parseByte2HexString:buffer];
}
return ciphertext;
}
+(NSString *) parseByte2HexString:(Byte *) bytes
{
NSMutableString *hexStr = [[NSMutableString alloc]init];
int i = 0;
if(bytes)
{
while (bytes[i] != '\0')
{
NSString *hexByte = [NSString stringWithFormat:@"%x",bytes[i] & 0xff];///16进制数
if([hexByte length]==1)
[hexStr appendFormat:@"0%@", hexByte];
else
[hexStr appendFormat:@"%@", hexByte];
i++;
}
}
NSLog(@"bytes 的16进制数为:%@",hexStr);
return hexStr;
}
求大神指点啊 ,我实在搞不懂啊
0 0
- ios 字符加密问题 字符串加密gyb字符返回空
- RC4加密出现空字符
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 加密字符
- 字符加密
- 字符加密
- 字符加密!
- 字符加密
- android-async-http框架的例子怎么导入工具运行
- android studio中文注释乱码问题
- 二、百度地图二次开发初始化操作
- mysql 小知识
- mybatis
- ios 字符加密问题 字符串加密gyb字符返回空
- 用Python将注释行和空行去掉
- dcmtk 编译
- Android studio 不能回车了
- 算法是硬伤,求助.............
- 安卓访问浏览器数据
- 网页Ico小图片乱码
- AspJpeg 生成图片背景色的问题
- WebView基本使用