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

大型企业管理软件的应用越来越广泛,企业数据平台涉及局域网、广域网、 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. 家用计费系统ER图

    家用计费系统研发开始.在此记录自己的开发过程.

  2. Javascript 查找元素

    DOM定义了多种查找元素的方法,除了我们常用的getElementById(),还有getElementsByTagName()和getElementsByName().使用这几种方法方法我们可以查找 ...

  3. Java 之 Servlet介绍(Java之负基础实战)

    1.介绍 Servlet是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容.狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了 ...

  4. PHP简单分页类

    <?php /* * ********************************************* * @类名: page * @参数: $myde_total - 总记录数 * ...

  5. java_web学习(8)会话与状态管

    HTTP简介       WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议.HTTP是hypertext transfer protocol(超文本传输协 ...

  6. 如何在Visio 2007中画接口和实现类的关系图

    http://blog.sina.com.cn/s/blog_53fc9db50100as5o.html 在Visio图形元素上,点击右键,选择“形状显示选项”,将“实现链接”选中,这个时候,类图形元 ...

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

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

  8. easyUI 初始化的两种方式

    easyUI 初始化的两种方式: class方式和js方式: <!DOCTYPE html> <html lang="en"> <head> & ...

  9. [linux]ngrep命令、常见用法

    1.ngrep命令 ngrep命令是grep命令的网络版,ngrep用于搜寻指定的数据包(抓包.过滤).能识别TCP.UDP和ICMP包,理解bpf的过滤机制. 1.1 安装 brew install ...

  10. There is no getter for property named 'userId' in 'class java.lang.String'

    [ERROR] 2017-01-18 04:37:06:231 cn.dataenergy.common.CenterHandlerExceptionResolver (CenterHandlerEx ...