数据加密算法(Data Encryption Algorithm,DEA)是一种对称加密算法,很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的。通常,自动取款机(Automated Teller Machine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾对它拥有几年的专利权,但是在1983年已到期后,处于公有范围中,允许在特定条件下可以免除专利使用费而使用。1977年被美国政府正式采纳。
DES的原始思想可以参照二战德国的恩格玛机,其基本思想大致相同。传统的密码加密都是由古代的循环移位思想而来,恩格玛机在这个基础之上进行了扩散模糊。但是本质原理都是一样的。现代DES在二进制级别做着同样的事:替代模糊,增加分析的难度。
DES的加密原理,是使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。
类似于:A1ez8zw/wJ6QNPeMblfS+ZG37vG7h31Vj64liR4RidYOdstaJNwebOgEfJQSfyj/DbJ0ANobgmWRLaOhCEjne6d2kIcEV08U3f99SaN1xTk+iULsCkDbzWI8OR6c3X/2S/AnXeWTsUTaKKXX+naczN6nELYlG41ZobFn4bu2jNqWNy0b4fQYRwf8Y08QwsmYevtnMGUaxOZgFtqCpQI9Eiba1uIDWlnbxbFdnLOlDnOrBnfFMBoTztc+CfzfDr1rFwVHXOcoswE+x6LNSBmyauYj2qLTFxGj+9lnw/ozkNtRQgdLIITdDqNNKi9vN371x91OC9CkWigjOX0jzTxcXKUJocyu/kKFUx9Fo/LmNZ7SMINEL7CtJ9iEaeHd49o2wHSDRT4tOvQtEh6FKo/V3hwr54M+BWAbcnJVkh3OHcUl/AYMqDkM8HsugBNGG51aqGFsXtFw9dFZVYZEm3ORPHvt2fDrJ3XElOZ1BV7aipyRodXUV6T7KlKBUdom/q/kVEDeXcHNKOi/24jGmZOIykpn7W3DEtBBGWpOaU4gTKRzx0CHRQlEdhGF/Y4ZpSlXvsEnZtv/J1SUl3ggq8UDDIQ9FHnexWjKBVCdPEor+FfzlGF9E09hl9LewcrGjuTAJD1SqlFxxPIwFwyiNZxi6aUl36TcjsRq6DcQejbKTg345OFsv4CHKor1ZEZnKiWZE35Fr/WICtlS53DjVqfkBVzp5Auxg1ZEKaCZCwxUouW1qWOFicXfldxe/05bAWJ0WZ55MSF/4PCtIXv3l9nHSYjr1JGccr8lnruYdLzMHnkFvjWJFs4N9zEZITCShjie4d/uNZ6OBTKGEizsR1zcVRf6J2xhxKCMyW7EX/sbJ7E3HdJtTHendiTQT0PTu9Tze/VHRr5/7/9LueM3Mej7P7/CFM3qpmJeBcLXaKpU6b828d+VO74tnRupJV0aMKo94sRAzUmpv5AZbyjp45JSEhwNyLLRYJeJ3yI+Ef7OVrW3fRfB15UcxldPX1L9URgKRg1udiZt8hmip8nFx+8NBG7IPmFWPh6P2iHm9hrnzTFuu+N0PTh9f3fNX0/OnY6OHElODwdiaTAiNowSOXsc00kLgDlAhUVa+tpDcNTG++Xa9SDYGo6Q2+egN2IgqLULzyKR4Z8Mdyk4OCfVIMqs+aiGTZussn02n2OUt9I+JDHkpgBZ38/bRO4aOH8SjTWnh9k2nzWzPUsastytrPF745PMYldud0zgIQUpaZacxmZFUvnKllxfcO7Rq/C3pPR5vlZRBdbs362vgldXa9mp2D7viSpGBB1ryTyh2GCteJtOlLT7iKGwWmdfk0p4QP0cMYeJK78mXXL4meE8WdBLPmsIieUzR2Dv3mbFcJzwRHcKJI7TocA8h0i31YPxqege6nIutxCURO1g1KfdKesxlPdyQKeIM6d/WBOxzVWNe1uu6V4ND7wtXqOkq8eZrC5gjrWnhJVXbIHPyapXXd2VtE0VASOp1DvF9Z9bZdb0rC/Txiiwzan4UAPJ+xsODzbl5SUJorHFkwXpBpWJv8qbcs/wGgLhyY5InTebEcnlDtvaePtgpE/TEg2Mfpm15CqXf76RYzOmU5soStx85I2qHi7/Xjl43Roi2kkvX/CJMMqAW4Q5Mq+QPjl8Lf0n2H55OUHASHKtCseOBFDZFDj8U0A+z8ZEAREeO3MtVNR9xYkQQMAzNVoRtK2ajekM7TMdtWxwDc0z+6wascDhp9SSbijQrgxViR4YnLtOsh1cS+x/OxLU/OZi1pxXGA+jq7Y8lwt9qAdfTov65Q/xLDD2Mb0MIaZlCereaC6Gi1HAteftp/S0eq4XW3P5xG0a3R8SjREbQaLqbmnDULGnBysOxEl1dMF2syOQdrFkNOt2tbnOTOcSgqJbTr22AqkTHSQdpfpDZSLGcYzsL018bZ1YT0AqqE8Japi6QM+xIsnRhTIRSgzR/I90HcLJEzlmhmwtdrsq8zmdDXzkpe4ICAvswTppCrUna87Qx4Ddb0D6APkB6H7LAP/+wbQHRifu2bsqcm/zHzt9krVOUY9Xicxa5TdmgFPWV19+etaotzrswWiMDErL1Hhg90cFhCpTJh++xh9YpA9APKXSw+Ol0yQiV6HXrh9xTE8eRXAwMjgItavNP2POG1ESd3nvsrYpp4GzcmgdOsLXVISxWKwhRO+KuxyJXR3ZYGQME4etkQtlbOEGoK62oWy906cZdCZJGt7f0E5a4NEhPehHKJ6XmgKe34enTgWOl+HXI+IegvPKfcw+7qJDhMasBP6MNC10b73QJsNxA+3/rePYUmN1xzLWSGALFIq+UR0b2g7q57OC9on+3maZK/xUJxnIFqv9NQ0wYwOgLAEteF4vmheF67YwS2O2V1MJO9ULkd6L9H4NjQP2n2ej+huL5D7/Y/jhBq6+qSAJ5X95Sl8VrlwdpKaFzCQdtbsruDeSjJzWDMuQYCLOVZWwCO5kWqLaSWS1yxnsz2lys102zvLYRKEHIDlkpYvPwFM+80f3LVGkEqsiywDAIRvSmk0nNnWtgot0B+++d2UKoE3kx3S7zQT6BXtI91+W94qjOex352iB9C3/WFj65fFnBxihVkkDSvyV+Uza3Q5PBKgVfU0nNgCJ7V8G5d7oT0DDR9Z/YuK66NBCL1mlDiucoJBTdvOveP1S+bkRzYLe7VaiF15TqzzVXqpiBwYGvIgxz4MbJPheMUTJPnyUXwWMAgefwKONwTbjJ4JnRtEuF/Yk3anSP1VRgn6Xtg==当然,这些都是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加密的更多相关文章

  1. Android数据加密之Des加密

    前言: 端午节前有个同事咨询我有关Android DES加密的相关实现,简单的实现了一下,今天来总结一下. 其他几种加密方式: Android数据加密之Rsa加密 Android数据加密之Aes加密 ...

  2. php使用openssl进行Rsa长数据加密(117)解密(128) 和 DES 加密解密

    PHP使用openssl进行Rsa加密,如果要加密的明文太长则会出错,解决方法:加密的时候117个字符加密一次,然后把所有的密文拼接成一个密文:解密的时候需要128个字符解密一下,然后拼接成数据. 加 ...

  3. DES加密

    接口等加密字段 import java.security.SecureRandom; import javax.crypto.Cipher;import javax.crypto.SecretKey; ...

  4. c# DES加密解密

    class DESHelper { string _iv = "9AUP"; string _key = "9d"; /// <summary> / ...

  5. (iOS)Base64加密和DES加密、以及JAVA和iOS中DES加密统一性问题

    我们在项目中为了安全方面的考虑,通常情况下会选择一种加密方式对需要安全性的文本进行加密,而Base64加密和DES64加密是常用的加密算法.我记得我在前一个项目中使用的就是这两种加密算法的结合:Bas ...

  6. PYTHON实现DES加密及base64源码

    要求是实现DES加密,解密,我是用python实现的,还是有挺多坑的,改bug就改了挺久,加密实现后,解密过程就比较轻松. 另外,附加base64编码源码 要求:输入秘钥为64位二进制数(有效位为56 ...

  7. des加密解密——java加密,php解密

    最近在做项目中,遇到des加密解密的问题. 场景是安卓app端用des加密,php这边需要解密.之前没有接触过des这种加密解密算法,但想着肯定会有demo.因此百度,搜了代码来用.网上代码也是鱼龙混 ...

  8. DES加密解密

    加密后生成Base64字符串,并去除'='字符. 加密后替换掉'+',这样加密后的字符串可以作为url参数传递. using System; using System.IO; using System ...

  9. iOS 开发之路(AES/DES加密实现) 三

    最近接触的这个项目由于以前服务器上用的是DES/CBC/PKCS5Padding加密方式,为了让在iOS上的加密结果与服务器端保持一致,我做了很多尝试,现在分享给大家.PS:现在不推荐用DES了,只是 ...

  10. php des 加密解密实例

    des加密是对称加密中在互联网应用的比较多的一种加密方式,php 通过mcrypt扩展库来支持des加密,要在Php中使用des加密,需要先安装mcrypt扩展库 $iv_size = mcrypt_ ...

随机推荐

  1. mongodb学习-创建唯一索引(在已存在的集合创建)

    如果在已存在的集合创建,可能会存在相同的值如下: 我们可以使用(2.x版本) db.users.ensureIndex({uid:1, name:1}, {unique:true, dropDups: ...

  2. [GO]多任务的资源竞争问题

    package main import ( "fmt" "time" ) func Printer(s string) { for _, data := ran ...

  3. 我为什么要翻译ES6官方文档

    ES6出来很久了,现在网上也有很多教程,其中以阮一峰老师的教程最为经典.大家通过学习阮老师的教程肯定能学懂ES6最新的技术. ES6官方文档是一个规范,各浏览器在实现ES6的具体API时都会遵循它.我 ...

  4. 回归(regression)、梯度下降(gradient descent)

    本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: 上次写过一篇 ...

  5. 测试驱动开发 VS 行为驱动开发

    测试驱动开发(Test Driven Development,英文缩写TDD)是极限编程的一个重要组成部分,它的基本思想就是在开发功能代码之前,先编写测试代码.也就是说在明确要开发某个功能后,首先思考 ...

  6. Head First Python之3文件与异常

    文件基本操作 Python从文本读取数据时,一次会到达一个数据行. sketch.txt文件 Man: Is this the right room for an argument? Other Ma ...

  7. 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 ...

  8. Android-ContentProvider理解操作系统的多媒体

    在多年以前,我做一款音乐播放器,要把很多.mp3文件,放置在自己新建的文件夹里面,然后去读取这个新建的文件夹里面的音乐列表,现在想想是多么的无知: 因为只要往手机里面放入.mp3文件,系统会自动检测, ...

  9. ffmpeg用法小结,教你抓各大网站视频

    最近受邀朋友帮忙需要抓取一段某酷电影,偶然间发现ffmpeg程序.说到此可能会有人提到you-get和youtube-dl,期间也接触了该两款程序,但是由于版权原因,该软件仅仅可以抓取前几分钟预览版, ...

  10. Session概述

    session即HttpContext.Session 属性,命名空间System.Web 我们都知道,Cookie信息全部存放于客户端,Session则只是将一个ID存放在客户端做为与服务端验证的标 ...