ISStego 是一个用于 Mac OS X 和 iOS 的 Objective-C 库,可以使用数字技术将秘密数据编码和解码到图像中,这是一种通过隐藏来增强安全性的形式。
隐写术源于希腊语单词 steganos,意为 隐藏或保护,以及 graphein,意为 写作。基本上,它是在不重要的物体中隐藏重要信息的做法。例如,我们可以在另一个消息、图像、音频或视频中隐藏一个消息。
查看示例
原始图像 | 隐写图像 |
---|---|
![]() |
![]() |
纯图像(不含隐藏信息) | 包含隐写术隐藏文本的图像(2198 个字符)。 |
FALSE。它们完全不同。
加密的主要目的是通过将普通信息(明文)转换为难以理解的文本(密文)来 隐藏信息的意义。您可以检测到某些内容是否已经加密。
另一方面,隐写术 隐藏信息本身,并且大多数人不会察觉它的存在。
隐写术是一种安全形式,但并非独一无二。我们可以在隐写术之外使用其他形式的安全性,例如加密。
另请参阅.
ISStego 采用了三种隐写术技术
将 ISStego 文件夹拖入到您的项目中。
导入ISSteganographer
#import "ISSteganographer.h"
NSString *encryptedPassword = @"47151d0e56f8dc";
UIImage *image = [UIImage imageNamed:@"imageName"];
[ISSteganographer hideData:encryptedPassword
withImage:image
completionBlock:^(id image, NSError *error) {
if (error) {
NSLog(@"error: %@", error);
} else {
[UIImagePNGRepresentation(image) writeToFile:@"PATH_OF_FILE"
atomically:YES];
}
}];
UIImage *image = [UIImage imageNamed:@"stegoImageName"];
[ISSteganographer dataFromImage:image
completionBlock:^(NSData *data, NSError *error) {
if (error) {
NSLog(@"error: %@", error);
} else {
NSString *hiddenData = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"string: %@", hiddenData);
}
}];
NSString *encryptedPassword = @"47151d0e56f8dc";
NSImage *image = [NSImage imageNamed:@"imageName"];
[ISSteganographer hideData:encryptedPassword
withImage:image
completionBlock:^(id image, NSError *error) {
if (error) {
NSLog(@"error: %@", error);
} else {
CGImageRef cgRef = [image CGImageForProposedRect:NULL
context:nil
hints:nil];
NSBitmapImageRep *bitmapImage = [[NSBitmapImageRep alloc] initWithCGImage:cgRef];
[bitmapImage setSize:[image size]];
NSData *pngData = [bitmapImage representationUsingType:NSPNGFileType
properties:nil];
[pngData writeToFile:@"PATH_OF_FILE"
atomically:YES];
bitmapImage = nil;
}
}];
NSImage *image = [NSImage imageNamed:@"stegoImageName"];
[ISSteganographer dataFromImage:image
completionBlock:^(NSData *data, NSError *error) {
if (error) {
NSLog(@"error: %@", error);
} else {
NSString *hiddenData = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"string: %@", hiddenData);
}
}];
Isaac Stevao Sena, @IsaacStevaoSena
ISStego 采用MIT许可证发布。请参阅LICENSE.md。