[C++杂谈]:MD5以及XML数字签名

背景:工程发布到生产,在研发介入阶段可以修改相关配置文件,但当研发退出,由生产完全接手的时候,将禁止修改相关配置文件。因此需要工程能够校验相应的文件是否是和发布时保持一致。当前考虑将需要校验的文件的MD5码写入指定的xml文件,然后对xml文件使用数字签名的手段来保证发布文件的完整性。此时,研发修改相关文件也将变得困难——先修改需要修正的文件,并且用MD5码生成工具获取新的MD5码,将MD5码更新到xml文件中,使用工具对XML文件进行重写数字签名。

MD5码校验

MD5可以用来校验文件是否被修改。一般用于文件完整性的校验,以及加密、解密等方面。比如,在linux系统中,用户输入登陆时输入的密码会转换为md5码,和存储于系统中的文件中写的md5码进行对比,保证系统以及用户密码安全的。再者,在文件传输以及Linux下安装包的校验等,在传输过程中如果信息丢失或者传输错误,可以使用MD5码进行对比校验,保证文件的完整性、正确性。

MD5的说明网上很多,贴一下链接:
代码下载(免积分): http://download.csdn.net/download/tangzhangpeng/5502987
博客:http://blog.csdn.net/wudishine/article/details/42466831
看了些博客,都是一样的实现,发现个实现不错的版本,有空整理后再贴出来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合; 2、3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高; 3、RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快; 4、IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性; 5、RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法; 6、DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法; 7、AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准的一个实现是 Rijndael 算法; 8、BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快; 9、MD5:严格来说不算加密算法,只能说是摘要算法; 10、PKCS:The Public-Key Cryptography Standards (PKCS)是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。 11、SSF33,SSF28,SCB2(SM1):国家密码局的隐蔽不公开的商用算法,在国内民用和商用的,除这些都不容许使用外,其他的都可以使用; 12、ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。 13、TEA(Tiny Encryption Algorithm)简单高效的加密算法,加密解密速度快,实现简单等等等等

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值