关于DES加密
数据加密算法(Data Encryption Algorithm,DEA)是一种对称加密算法,很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的。通常,自动取款机(Automated Teller Machine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾对它拥有几年的专利权,但是在1983年已到期后,处于公有范围中,允许在特定条件下可以免除专利使用费而使用。1977年被美国政府正式采纳。
DES的原始思想可以参照二战德国的恩格玛机,其基本思想大致相同。传统的密码加密都是由古代的循环移位思想而来,恩格玛机在这个基础之上进行了扩散模糊。但是本质原理都是一样的。现代DES在二进制级别做着同样的事:替代模糊,增加分析的难度。
DES的加密原理,是使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。
类似于: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当然,这些都是base64编码。那么,什么是base64呢?
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
比如,编写一个“123”,得出的结果就是“MTIz”。
关于DES加密的更多相关文章
- Android数据加密之Des加密
前言: 端午节前有个同事咨询我有关Android DES加密的相关实现,简单的实现了一下,今天来总结一下. 其他几种加密方式: Android数据加密之Rsa加密 Android数据加密之Aes加密 ...
- php使用openssl进行Rsa长数据加密(117)解密(128) 和 DES 加密解密
PHP使用openssl进行Rsa加密,如果要加密的明文太长则会出错,解决方法:加密的时候117个字符加密一次,然后把所有的密文拼接成一个密文:解密的时候需要128个字符解密一下,然后拼接成数据. 加 ...
- DES加密
接口等加密字段 import java.security.SecureRandom; import javax.crypto.Cipher;import javax.crypto.SecretKey; ...
- c# DES加密解密
class DESHelper { string _iv = "9AUP"; string _key = "9d"; /// <summary> / ...
- (iOS)Base64加密和DES加密、以及JAVA和iOS中DES加密统一性问题
我们在项目中为了安全方面的考虑,通常情况下会选择一种加密方式对需要安全性的文本进行加密,而Base64加密和DES64加密是常用的加密算法.我记得我在前一个项目中使用的就是这两种加密算法的结合:Bas ...
- PYTHON实现DES加密及base64源码
要求是实现DES加密,解密,我是用python实现的,还是有挺多坑的,改bug就改了挺久,加密实现后,解密过程就比较轻松. 另外,附加base64编码源码 要求:输入秘钥为64位二进制数(有效位为56 ...
- des加密解密——java加密,php解密
最近在做项目中,遇到des加密解密的问题. 场景是安卓app端用des加密,php这边需要解密.之前没有接触过des这种加密解密算法,但想着肯定会有demo.因此百度,搜了代码来用.网上代码也是鱼龙混 ...
- DES加密解密
加密后生成Base64字符串,并去除'='字符. 加密后替换掉'+',这样加密后的字符串可以作为url参数传递. using System; using System.IO; using System ...
- iOS 开发之路(AES/DES加密实现) 三
最近接触的这个项目由于以前服务器上用的是DES/CBC/PKCS5Padding加密方式,为了让在iOS上的加密结果与服务器端保持一致,我做了很多尝试,现在分享给大家.PS:现在不推荐用DES了,只是 ...
- php des 加密解密实例
des加密是对称加密中在互联网应用的比较多的一种加密方式,php 通过mcrypt扩展库来支持des加密,要在Php中使用des加密,需要先安装mcrypt扩展库 $iv_size = mcrypt_ ...
随机推荐
- mongodb学习-创建唯一索引(在已存在的集合创建)
如果在已存在的集合创建,可能会存在相同的值如下: 我们可以使用(2.x版本) db.users.ensureIndex({uid:1, name:1}, {unique:true, dropDups: ...
- [GO]多任务的资源竞争问题
package main import ( "fmt" "time" ) func Printer(s string) { for _, data := ran ...
- 我为什么要翻译ES6官方文档
ES6出来很久了,现在网上也有很多教程,其中以阮一峰老师的教程最为经典.大家通过学习阮老师的教程肯定能学懂ES6最新的技术. ES6官方文档是一个规范,各浏览器在实现ES6的具体API时都会遵循它.我 ...
- 回归(regression)、梯度下降(gradient descent)
本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: 上次写过一篇 ...
- 测试驱动开发 VS 行为驱动开发
测试驱动开发(Test Driven Development,英文缩写TDD)是极限编程的一个重要组成部分,它的基本思想就是在开发功能代码之前,先编写测试代码.也就是说在明确要开发某个功能后,首先思考 ...
- Head First Python之3文件与异常
文件基本操作 Python从文本读取数据时,一次会到达一个数据行. sketch.txt文件 Man: Is this the right room for an argument? Other Ma ...
- MIDA Converter Basic patched for RAD Studio 10.1.2 Berlin (VCL转换到FMX)
Mida is the only way to try to convert your project from VCL to FireMonkey. Version after version, M ...
- Android-ContentProvider理解操作系统的多媒体
在多年以前,我做一款音乐播放器,要把很多.mp3文件,放置在自己新建的文件夹里面,然后去读取这个新建的文件夹里面的音乐列表,现在想想是多么的无知: 因为只要往手机里面放入.mp3文件,系统会自动检测, ...
- ffmpeg用法小结,教你抓各大网站视频
最近受邀朋友帮忙需要抓取一段某酷电影,偶然间发现ffmpeg程序.说到此可能会有人提到you-get和youtube-dl,期间也接触了该两款程序,但是由于版权原因,该软件仅仅可以抓取前几分钟预览版, ...
- Session概述
session即HttpContext.Session 属性,命名空间System.Web 我们都知道,Cookie信息全部存放于客户端,Session则只是将一个ID存放在客户端做为与服务端验证的标 ...