摘要:加密算法为现在应用最广泛的哈希算法之一,该算法广泛应用于互联网网站的用户文件加密,能够将用户密码加密为位的长整数。在加密算法中,首先需要对信息进行填充,使其字节长度对求余数的结果等于。
MD5加密算法为现在应用最广泛的哈希算法之一,该算法广泛应用于互联网网站的用户文件加密,能够将用户密码加密为128位的长整数。数据库并不明文存储用户密码,而是在用户登录时将输入密码字符串进行MD5加密,与数据库中所存储的MD5值匹配,从而降低密码数据库被盗取后用户损失的风险。
Md5加密算法原理
MD5加密算法以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
在MD5加密算法中,首先需要对信息进行填充,使其字节长度对512求余数的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至N512+448,即N64+56个字节(Bytes),N为一个正整数。
- (NSString *)md5String{ //先转为UTF_8编码的字符串 const char* str = [self UTF8String]; //设置一个接受字符数组 //md5加密后是128bit, 16 字节 * 8位/字节 = 128 位 unsigned char result[CC_MD5_DIGEST_LENGTH]; /* extern unsigned char *CC_MD5(const void *data, CC_LONG len, unsigned char *md)官方封装好的加密方法 把str字符串转换成了32位的16进制数列(这个过程不可逆转) 存储到了result这个空间中 */ CC_MD5(str, strlen(str), result); NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH* 2]; /* x表示十六进制,%02X 意思是不足两位将用0补齐,如果多余两位则不影响 NSLog("%02X", 0x888); //888 NSLog("%02X", 0x4); //04 */ //将16字节的16进制转成32字节的16进制字符串 for(int i = 0; iMD5加密算法由于其具有较好的安全性,加之商业也可以免费使用该算法,因此该加密算法被广泛使用,md5加密算法主要运用在数字签名、文件完整性验证以及口令加密等方面。
md5加密算法c语言版 md5加密算法c语言版
2.SHA算法
- (NSString *)sha1:(NSString *)str { const char *cstr = [str UTF8String]; //使用对应的CC_SHA1,CC_SHA256,CC_SHA384,CC_SHA512的长度分别是20,32,48,64 unsigned char digest[CC_SHA1_DIGEST_LENGTH]; //使用对应的CC_SHA256,CC_SHA384,CC_SHA512 CC_SHA1(cstr, strlen(cstr), digest); NSMutableString* result = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2]; for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) { [result appendFormat:@"%02x", digest[i]]; } return result; }整理常用加密 iOS 与 Android 加密 MD5-SHA1
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/78339.html
摘要:结论对用户密码进行加密时需要做到防止用户密码明文被窃听交给,明文传输。为什么盐可以明文存储攻击者很难有足够的计算资源和存储空间建立海量的哈希值密码数据库,针对单条用户记录,建立哈希值密码数据库进行攻击的成本过高。 摘要 密码验证是很常见的需求,如何在实现功能之余,防止用户密码泄露,已经有了很成熟的方案。这篇文章把自己的思考和结论做一下记录。 结论 对用户密码进行加密时需要做到: 防止用...
摘要:所以我们今天只谈前端加密,一个部分人认为没有意义的工作。在中,认证过程使用了非对称加密算法,非认证过程中使用了对称加密算法。非对称加密上文中我们讨论了前端的哈希加密以及应用的场景。 showImg(https://segmentfault.com/img/bVAhTC); 当然在谈安全。 前端安全是Web安全的一部分,常见的安全问题会有XSS、CSRF、SQL注入等,然而这些已经在程师...
摘要:所谓对称加密,就是加密和解密使用同一秘钥,这也是这种加密算法最显著的缺点之一。非对称加密算法由于对称加密在通信加密领域的缺陷,年和提出了非对称加密的概念。非对称加密,其主要缺点之一就是慢,适合加密少量数据。 1. 加密的目的 加密不同于密码,加密是一个动作或者过程,其目的就是将一段明文信息(人类或机器可以直接读懂的信息)变为一段看上去没有任何意义的字符,必须通过事先约定的解密规则才能将...
阅读 963·2021-09-30 09:58
阅读 2785·2021-09-09 11:55
阅读 1929·2021-09-01 11:41
阅读 962·2019-08-30 15:55
阅读 3250·2019-08-30 12:50
阅读 3455·2019-08-29 18:37
阅读 3252·2019-08-29 16:37
阅读 1965·2019-08-29 13:00