扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
一、批量修改md5值
创新互联建站专注于袁州企业网站建设,成都响应式网站建设公司,商城网站制作。袁州网站建设公司,为袁州等地区提供建站服务。全流程按需求定制网站,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
ImageOptim Mac 下无损压缩图片工具,将包含图片的文件夹拖入工具,会自动扫描文件夹下的所有文件,自动选择最优算法进行优化。一般第一次优化项目时,会有几M到10几M的优化效果。
ImageMagick ImageMagick: 是一款创建、编辑、合成,转换图像的命令行工具。 通过 brew 安装 imagemagick
brew install imagemagick
压缩文件夹下所有 png 文件,会修改 md5 值 ,进入存放图片的文件夹,运行命令即可
cd 文件路径find . -iname "*.png" -exec echo {} \; -exec convert {} {} \;
二、单个修改md5值(mp4等类型)
(1)查看 md5 值
打开 Terminal (终端),输入「md5」,空格,文件路径,最终命令类似于:
//方式一md5 文件路径//方式二cd 文件路径md5 xxx.mp4//方式三md5-q 文件路径
(2)修改 md5 值
修改文件的md5值命令,输入echo 任意字符 文件路径,最终命令类似于:
echo xxx 文件路径
//MD5加密方法
-(NSString *)md5:(NSString *)input{
const char *cStr = [input UTF8String];
unsigned char digest[CC_MD5_DIGEST_LENGTH];
CC_MD5(cStr, strlen(cStr), digest);
NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for(int i = 0; i CC_MD5_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", digest[i]];
return output;
}
//调用MD5方法:
NSString *str = @"123456";
NSString *result = [self md5:str];
NSLog(@"%@",result);
base64加密
NSString *urlStr = @"?";
//加密
NSData *bodyData = [urlStr dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"bodyData---%@",bodyData);
NSString *base64Str = [bodyData base64EncodedStringWithOptions:0];
NSLog(@"base64----%@",base64Str);
NSString *urlString = [urlStr stringByAppendingString:base64Str];
NSURL *urlShare = [NSURL URLWithString:urlString];
//解
NSData *jieData = [[NSData alloc] initWithBase64EncodedString:base64Str options:NSDataBase64DecodingIgnoreUnknownCharacters];
NSString *jieStr = [[NSString alloc] initWithData:jieData encoding:NSUTF8StringEncoding];
NSLog(@"jieStr---%@",jieStr);
当然一般我们现有的涉及到文件/信息加密,或提高数据安全级别一般都会选择 CommonCrypto 来完成任务。
可以从Oc 上面先了解它的函数声明:
Swift + 3DES
补充:
CCOperation (操作)、 CCAgorithm (算法) 和 CCOptions (设置)本质上就是 uint32_t (一个占32位存储的 unsigned int ),所以我们可以通过 CommonCrypto 常量来构造它们。
附带一个Swift 版的 Base64 + String
swift + MD5
Oc + MD5
一、简单说明
1.说明
在开发应用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题。
如:可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据
“青花瓷”软件
因此:提交用户的隐私数据时,一定不要明文提交,要加密处理后再提交
2.常见的加密算法
MD5 SHA DES 3DES RC2和RC4 RSA IDEA DSA AES
3.加密算法的选择
一般公司都会有一套自己的加密方案,按照公司接口文档的规定去加密
二、MD5
1.简单说明
MD5:全称是Message Digest Algorithm 5,译为“消息摘要算法第5版”
效果:对输入信息生成唯一的.128位散列值(32个字符)
2.MD5的特点
(1)输入两个不同的明文不会得到相同的输出值
(2)根据输出值,不能得到原始的明文,即其过程不可逆
3.MD5的应用
由于MD5加密算法具有较好的安全性,而且免费,因此该加密算法被广泛使用
主要运用在数字签名、文件完整性验证以及口令加密等方面
4.MD5破解
MD5解密网站:
5.MD5改进
现在的MD5已不再是绝对安全,对此,可以对MD5稍作改进,以增加解密的难度
加盐(Salt):在明文的固定位置插入随机串,然后再进行MD5
先加密,后乱序:先对明文进行MD5,然后对加密得到的MD5串的字符进行乱序
总之宗旨就是:黑客就算攻破了数据库,也无法解密出正确的明文
代码示例:
复制代码 代码如下:
#import "HMViewController.h"
#import "NSString+Hash.h"
#define Salt @"fsdhjkfhjksdhjkfjhkd546783765"
@interface HMViewController ()
@end
@implementation HMViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[self digest:@"123"]; //
[self digest:@"abc"];
[self digest:@"456"];
}
/**
* 直接用MD5加密
*/
- (NSString *)digest:(NSString *)str
{
NSString *anwen = [str md5String];
NSLog(@"%@ - %@", str, anwen);
return anwen;
}
/**
* 加盐
*/
- (NSString *)digest2:(NSString *)str
{
str = [str stringByAppendingString:Salt];
NSString *anwen = [str md5String];
NSLog(@"%@ - %@", str, anwen);
return anwen;
}
/**
* 多次MD5
*/
- (NSString *)digest3:(NSString *)str
{
NSString *anwen = [str md5String];
anwen = [anwen md5String];
NSLog(@"%@ - %@", str, anwen);
return anwen;
}
/**
* 先加密, 后乱序
*/
- (NSString *)digest4:(NSString *)str
{
NSString *anwen = [str md5String];
// 注册: 123 ---- 2CB962AC59075B964B07152D234B7020
// 登录: 123 --- 202CB962AC59075B964B07152D234B70
NSString *header = [anwen substringToIndex:2];
NSString *footer = [anwen substringFromIndex:2];
anwen = [footer stringByAppendingString:header];
NSLog(@"%@ - %@", str, anwen);
return anwen;
}
@end
(1)直接使用MD5加密(去MD5解密网站即可破解)
(2)使用加盐(通过MD5解密之后,很容易发现规律)
(3)多次MD5加密(使用MD5解密之后,发现还是密文,那就接着MD5解密)
(4)先加密,后乱序(破解难度增加)
三、注册和验证的数据处理过程
1.提交隐私数据的安全过程 – 注册
2.提交隐私数据的安全过程 – 登录
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流