加密技术在企业数据安全中的应用:

大型企业管理软件的应用越来越广泛,企业数据平台涉及局域网、广域网、 Internet等,在各类系统中保存的企业关键数据量也越来越大,许多数据需要保存数十年以上,甚至是永久性保存,关键业务数据是企业生存的命脉和宝贵 的资源,数据安全性问题越来越突出。如何增强企业软件系统的安全性、保密性、真实性、完整性,成为每一位软件开发人员关注的焦点。从保护数据的角度讲,对 数据安全这个广义概念,可以细分为三部分:数据加密、数据传输安全和身份认证管理。
  1. 数据加密就是按照确定的密码算法把敏感的明文数据变换成难以识别的密文数据,通过使用不同的密钥,可用同一加密算法把同一明文加密成不同的密文。当需要时,可使用密钥把密文数据还原成明文数据,称为解密。这样就可以实现数据的保密性。数据加密被公认为是保护数据传输安全惟一实用的方法和保护存储数据安全的有效方法,它是数据保护在技术上最重要的防线。
  2. 数据传输安全是指数据在传输过程中必须要确保数据的安全性,完整性和不可篡改性。
  3. 身份认证的目的是确定系统和网络的访问者是否是合法用户。主要采用登录密码、代表用户身份的物品(如智能卡IC卡等)或反映用户生理特征的标识鉴别访问者的身份。

加密算法有很多种,在iOS开发当中,MD5是我们常用的摘要算法.

MD5:MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3MD4

MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD5以外,其中比较有名的还有sha-1RIPEMD以及Haval等。
 
接下来我么就直接来实践一下,用MD5进行加密操作:
首先需要引入类库#import <CommonCrypto/CommonCrypto.h>才能调用MD5进行操作.

 #pragma mark - 加密字符串

     //1.准备一个字符串,用于加密
NSString *str = @"I Love U"; //同一个字符串进行MD5加密出来的内容相同
//2.因为MD5是基于C语言的,所以我们需要将字符串进行编码
const char *data = [str UTF8String];
//3.加密后相关的内容,需使用字符串数组去存取(16进制,32位)
// CC_MD5_DIGEST_LENGTH表示长度的
unsigned char result [CC_MD5_DIGEST_LENGTH];
//4.进行MD5加密
//参数一:你要加密的内容data
//参数二:要加密的data的一个长度
//参数三:MD5
CC_MD5(data, (CC_LONG)strlen(data), result); //5.创建可变字符串,保存结果
NSMutableString *mutableString = [NSMutableString string];
//6.遍历结果数组,然后添加到可变字符串中
for (int i = ; i < CC_MD5_DIGEST_LENGTH; i++) {
//16进制格式修饰符%x,02表示不足2位的时候,前面补0
[mutableString appendFormat:@"%02x", result[i]];
}
NSLog(@"%@", mutableString);

当然你也可以将MD5封装起来.创建一个类目,方便下次使用.内部实现就是上面的步骤.

初级:使用MD5对字符串进行加密操作的更多相关文章

  1. Golang-使用md5对字符串进行加密

    方式一: func md5Test1(str string) string { m5 := md5.New() _,err := m5.Write([]byte(str)) if err != nil ...

  2. 在loadrunner中用头文件的形式对字符串进行MD5加密操作

    1.首先要有md5.h的头文件 2.然后在global.h中加入#include "md5.h" 3.在action中调用md5.h中的Change_to_Md5(const ch ...

  3. MD5加密操作

    MD5加密操作:MD5加密算法原理MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩" ...

  4. 【Java】通过DES加密和解密工具,对字符串进行加密和解密操作

    分享一个非常不错的字符串加密和解密的程序. 可以指定不同的密钥对同一字符串进行不同的加密操作,增强加密性能. Java代码如下: package com.app; import java.securi ...

  5. Jmeter Md5加密操作之-------BeanShell PreProcessor

    背景: 有一些登录会做一些md5校验,通过jmeter的BeanShell可以解决MD5加密情况. 1.首先需要一个解码的jar包,commons-codec-1.10.jar(网上很多),下载后,放 ...

  6. Jmeter(十九) Md5加密操作之-------BeanShell PreProcessor(转载)

    转载自 http://www.cnblogs.com/yangxia-test 背景: 有一些登录会做一些md5校验,通过jmeter的BeanShell可以解决MD5加密情况. 1.首先需要一个解码 ...

  7. 实体字符转换,同样变量密码加盐MD5后生成的加密字符串不同解决办法 (原)

    我是首次登录系统自动生成一个密码,格式大概是:   abcd1234&  这种格式 , 比如加密规则就是一个 MD5() 然后,首次账号密码登录,输入密码 abcd1234&,一直提示 ...

  8. java对字符串进行加密和解密(以下是来自其他博主)

    背景:需要对读取数据库配置的文件进行加密,防止他人拿到数据,而对自己的代码,有要实现进行解密,网上给的加密方式,什么MD5,base64,还有等等,都太复杂,而且有些是单向的,只加密不解密,以下代码, ...

  9. hashlib加密操作模块

    import hashlib#加密操作obj=hashlib.md5(bytes("hasdfghjklcxz",encoding="utf-8"))#加密操作 ...

随机推荐

  1. 更改pandas dataframe 列的顺序

    摘自 stackoverflow 这是我的df: Net Upper Lower Mid Zsore Answer option More than once a day 0% 0.22% -0.12 ...

  2. Objective-C中的Hello World

    Objective-C在C语言的基础之上,加入了自己的一些独特的特性,而且在Objective-C中兼容C语言原有的用法.在Objective-C中,实现Hello World和C语言有一定的区别,如 ...

  3. JAVA中用于处理字符串的“三兄弟”

    JAVA中用于处理字符串常用的有三个类:java.lang.String.java.lang.StringBuffer.java.lang.StringBuilder,这三者的共同之处都是final类 ...

  4. KNN算法--物以类聚,人以群分

    KNN(K Nearest Neighbors,K近邻 )算法是机器学习所有算法中理论最简单,最好理解的.KNN是一种基于实例的学习,通过计算新数据与训练数据特征值之间的距离,然后选取K(K>= ...

  5. 破解&屏蔽防止嵌入框架代码 top.location != self.location

    <script type="text/javascript"> if (top.location != self.location) top.location = se ...

  6. 论MySQL数据库中两种数据引擎的差别

    InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定. 基本的差别为: MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持. MyISAM类型的表强 ...

  7. 全面解析Bootstrap图片轮播效果

    http://www.jb51.net/article/75806.htm 一 . 结构分析 一个轮播图片主要包括三个部分: ☑ 轮播的图片 ☑ 轮播图片的计数器 ☑ 轮播图片的控制器 第一步:设计轮 ...

  8. http的Max-Forwards头的作用(转)

    请求头的Max-Forwards用来请求特定代理.当代理收到一个允许URI转发的OPTIONS请求,则检查Max-Forwards.如果Max-Forwards值为0,则不能转发该消息:相反,代理会将 ...

  9. Java策略模式(Strategy模式) 之体验

    <JAVA与模式>之策略模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述策略(Strategy)模式的: 策略模式属于对象的行为模式.其用意是针对一组算法,将每一个算法 ...

  10. lufylegend库 鼠标事件 循环事件 键盘事件

    lufylegend库 鼠标事件 循环事件 键盘事件 <!DOCTYPE html> <html lang="en"> <head> <m ...