
算法--加解密
山西茄子
多媒体工程师,从事ffmpeg,gstreamer,视频编码,deepstream等开发,做做笔记。
展开
-
异或加密
异或加密如下例子:原创 2012-11-14 10:36:10 · 674 阅读 · 0 评论 -
RSA算法
RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作转载 2013-07-12 19:02:44 · 1416 阅读 · 0 评论 -
DES/3DES/AES
3DES3DES是DES加密算法的一种模式,它使用3条56位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年被ANSI组织规范为ANSI X.3.92。DES使用56位密钥和密码块的方法,而在密码块的方法中,文本被分成64位大小的文本块然后再进行加密。比起最初的DES,3DES更为安全。 3DES(即Triple DES转载 2012-09-12 16:05:25 · 992 阅读 · 0 评论 -
MD5算法
发展历史MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(转载 2013-07-12 18:52:15 · 1179 阅读 · 0 评论 -
指数哥伦布编码
哥伦布编码前言在计算机中,一般数字的编码都为二进制,但是由于以相等长度来记录不同数字,因此会出现很多的冗余信息,如下: 十进制 5 4 255 2 1 二进制 00000101 00000100 ...转载 2016-07-28 10:20:35 · 3918 阅读 · 1 评论 -
ASN.1
TLV是一种可变格式,意思就是:Type类型, Lenght长度,Value值;Type和Length的长度固定,一般那是2、4个字节(这里统一采用4个字节);Value的长度有Length指定;编码方法:1. 将类型type用htonl转换为网络字节顺序,指针偏移+42. 将长度length用htonl转换为网络字节顺序,指针偏移+43.转载 2015-04-01 10:18:15 · 967 阅读 · 0 评论 -
Base64算法的简介与实现
Base64算法的简介与实现1. Base64算法的简介1) 简述该算法被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式,达到一眼望去完全看不出内容。此算法的复杂程度要小,效率高。如果是基于以上两点,那么我们使用最简单的单字母代替法等即可,实际上Base64要稍微复杂些,这是因为在Email的传送过程中,由于历史原因,Email只被允许传送ASCII字符,即一个8位字节的转载 2012-09-18 16:42:40 · 1140 阅读 · 0 评论 -
PKCS7填充
PKCS7填充PKCS7填充: FF FF FF FF FF FF FF FF FF 07 07 07 07 07 07 07如果要填充8个字节,那么填充的字节的值就是0×8;要填充7个字节,那么填入的值就是0×7;…如果只填充1个字节,那么填入的值就是0×1;恰好8个字节时还要补8个字节的0×08。如 31 32 33 34 35 36 37 38填充后就是31转载 2016-05-02 17:26:42 · 7372 阅读 · 0 评论 -
BIN,BCD码
BCD码也叫8421码就是将十进制的数以8421的形式展开成二进制,大家知道十进制是0~9十个数组成,这十个数每个数都有自己的8421码:0=00001=00012=00103=00114=01005=01016=01107=01118=10009=1001举个例子:321的8421码就是3 2 10011 / 0010 / 0001原因转载 2014-05-07 16:03:08 · 1134 阅读 · 0 评论 -
随机数
标准库(被包含于中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void); 从srand (seed)中指定的seed开始,返回一个[seed, rand_max(0x7fff))间的随机整数。 函数二:void srand(unsigned seed); 参数seed是rand()的种子,用来初始化rand()的起始值。 可以认为rand()在每次转载 2012-09-24 16:48:12 · 588 阅读 · 0 评论 -
对称加密与非对称加密
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。 需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密转载 2014-10-16 16:33:31 · 838 阅读 · 0 评论 -
RLE 编码
RLE全称(run-length encoding),翻译为游程编码,又译行程长度编码,又称变动长度编码法(run coding),在控制论中对于二值图像而言是一种编码方法,对连续的黑、白像素数(游程)以不同的码字进行编码。游程编码是一种简单的非破坏性资料压缩法,其好处是加压缩和解压缩都非常快。其方法是计算连续出现的资料长度压缩之。 一种压缩过的位图文件格式,RLE压缩方案是一种极其成熟转载 2014-03-27 16:14:40 · 5104 阅读 · 0 评论 -
tea算法
tea算法 在安全学领域,TEA(Tiny Encryption Algorithm)是一种分组加密算法,它的实现非常简单,通常只需要很精短的几行代码。TEA 算法最初是由剑桥计算机实验室的 David Wheeler 和 Roger Needham 在 1994 年设计的。 TEA算法使用64位的明文分组和128位的密钥,它使用Feistel分组加密框架,转载 2012-11-14 10:52:43 · 1655 阅读 · 0 评论