数据摘要加密解密(一)
2012-03-27 16:47
232 查看
第一次写博客文章,语言组织都是即兴发挥,技术有阐述有不对的或措辞有不对的地方请大家指出,主要目的是为了大家共同学习进步,呵呵!
不啰嗦了,直接开写,前段工作中主要对数据摘要(MD5、SHA1)、DES加密解密、RSA加密解密进行了应用,网上这种例子虽然不少,但是最近正好有空,对以上进行总结,并对写的不好的地方进行重写,并封装成工具供大家参考。
为提供卦装首先对数据摘要及数据加密共性进行抽取(抽象)
摘要:摘要算法、源数据、摘要数据
加密:密钥、加密算法、源数据、加密数据
针对接口编程,我觉得需要定义一个加密接口,具有以下方法:
1、定义算法
2、设置密钥
3、设置源数据
4、获取结果数据
设置源数据和获取结果数据可以使用一个方法
3、4改成:构建数据,在查看以前写的代码时,发现有时加密后的数据返回的编码会不一样,有时需要HEX、有时需要BASE64,所以增加
5、设置返回数据编码
6、设置其它数据,预留此方法,见UML图:
![](data:image/png;base64,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)
画的简单了点,先这样吧!呵,今天先写到这,明天对此接口进行实现。
在考虑加密及解密的过程中,发现加密过程和解密初程大体相同,所以决定抽象出一个安全接口做为总的接口,见下图:
不啰嗦了,直接开写,前段工作中主要对数据摘要(MD5、SHA1)、DES加密解密、RSA加密解密进行了应用,网上这种例子虽然不少,但是最近正好有空,对以上进行总结,并对写的不好的地方进行重写,并封装成工具供大家参考。
为提供卦装首先对数据摘要及数据加密共性进行抽取(抽象)
摘要:摘要算法、源数据、摘要数据
加密:密钥、加密算法、源数据、加密数据
针对接口编程,我觉得需要定义一个加密接口,具有以下方法:
1、定义算法
2、设置密钥
3、设置源数据
4、获取结果数据
设置源数据和获取结果数据可以使用一个方法
3、4改成:构建数据,在查看以前写的代码时,发现有时加密后的数据返回的编码会不一样,有时需要HEX、有时需要BASE64,所以增加
5、设置返回数据编码
6、设置其它数据,预留此方法,见UML图:
画的简单了点,先这样吧!呵,今天先写到这,明天对此接口进行实现。
在考虑加密及解密的过程中,发现加密过程和解密初程大体相同,所以决定抽象出一个安全接口做为总的接口,见下图:
相关文章推荐
- 数据摘要加密解密(五)
- 数据摘要加密解密(四)
- 数据摘要加密解密(二)
- 数据摘要加密解密(三)
- 同时兼容JS和C#的RSA加密解密算法详解(对web提交的数据加密传输)
- PHP使用mcrypt进行AES加密后的数据NodeJS等无法解密的问题修复方案
- 使用X.509数字证书加密解密实务(二)-- 使用RSA证书加密敏感数据
- 加密解密、信息摘要常用算法收集~~
- C/C++使用openssl进行摘要和加密解密(md5, sha256, des, rsa)
- SQL SERVER2005加密解密数据
- as3.0利用DES和AES对数据进行加密和解密并且与php端加密匹配!
- SQL Server 2005: 如何让用户只能加密数据却不能解密数据
- linux配置wireshark对TLS加密的数据进行解密
- 数据之加密与解密
- ASP.NET C# 通过URL加密解密传输数据
- linux之用openssl命令Base64编码解码、md5/sha1摘要、AES/DES3加密解密
- iOS中使用RSA对数据进行加密解密
- iOS中使用RSA对数据进行加密解密
- 【Android数据加密与完整性校验之使用MessageDigest类进行MD5/SHA1】MessageDigest类对文件或字符串生成加密摘要进行完整性校验(三)
- JS使用插件cryptojs进行加密解密数据实例