首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用tea算法对数据进行加密

使用tea算法对数据进行加密     对QQ协议进行分析过的同学可能知道,QQ的数据传输是使用tea算法进行的加密。    ...tea算法是一种对称加密算法,特点是速度快,代码量小(加密、解密的核心算法总共才20来行)。算法的安全性虽然不比AES,但其算法的破译难度取决于其迭代的次数。...首先引用了网上的一个类,很简洁的90行代码,其中加密的方法是: TEA tea(key, TIMES, false); tea.encrypt(plain, crypt);     解密的方法是...我在网上看QQ的TEA加密是这样两个技巧:和我类似补随机二进制位补齐8的倍数,但采用了交织算法:消息被分为多个加密单元,每一个加密单元都是8字节,使用TEA进行加密加密结果与下一个加密单元做异或运算后再作为待加密的明文...附件:tea.zip

2.7K11

TEA算法解析

算法之TEA 一丶TEA简介 "TEA" 的全称为"Tiny Encryption Algorithm" 是1994年由英国剑桥大学的David j.wheeler发明的....TEA算法也算是微型加密算法 其加密流程如下 ? 在安全学领域,TEA(Tiny Encryption Algorithm)是一种分组加密算法,它的实现非常简单,通常只需要很精短的几行代码。...TEA算法使用64位的明文分组和128位的密钥,它使用Feistel分组加密框架,需要进行 64 轮迭代,尽管作者认为 32 轮已经足够了。...之后 TEA 算法被发现存在缺陷,作为回应,设计者提出了一个 TEA 的升级版本——XTEA(有时也被称为“tean”)。...XTEA 跟 TEA 使用了相同的简单运算,但它采用了截然不同的顺序,为了阻止密钥表攻击,四个子密钥(在加密过程中,原 128 位的密钥被拆分为 4 个 32 位的子密钥)采用了一种不太正规的方式进行混合

2K30
您找到你想要的搜索结果了吗?
是的
没有找到

PHP OpenSSL扩展 – 对称加密

所以,对于 PHPer 来说,有必要学习一下 PHP 的 OpenSSL 扩展。 本文就先从 OpenSSL 扩展中的对称加密说起。后面会陆续更多非对称加密、数字签名、数字证书等函数的讲解。...PHP 的 OpenSSL 扩展中,对称加密的相关函数有: openssl_encrypt() openssl_decrypt() openssl_random_pseudo_bytes() openssl_get_cipher_methods...其实PHP的OpenSSL扩展支持很多种加密算法,想知道所有对称加密算法名称列表,可以调用 openssl_get_cipher_methods() 函数,这会返回一个数组: array( 0 =>...如果去掉重复项,那么 PHP 的 OpenSSL 扩展支持大概100多种不同的加密算法。 第 3 ~ 7 行 生成了 IV。为什么要生成 IV,这个 IV 有什么用?...最后,在使用需要 IV 的加密算法时,需要注意: 必须传 $iv 参数,不传的话PHP将会抛出一个 Warning IV 应该是随机生成的(比如用 openssl_random_pseudo_bytes

1.8K20

PHP的OpenSSL加密扩展学习(一):对称加密

PHP的OpenSSL加密扩展学习(一):对称加密 我们已经学过不少 PHP加密扩展相关的内容了。而今天开始,我们要学习的则是重点中的重点,那就是 OpenSSL 加密扩展的使用。...一是 OpenSSL 是目前 PHP 甚至是整个开发圈中的数据加密事实标准,包括 HTTPS/SSL 在内的加密都是它的实际应用,二是 OpenSSL 提供了对称和非对称加密的形式,也就是我们日常中最普遍的两种加密方式...OpenSSL 扩展的对称加密 好了,介绍这么多理论知识,接下来还是回归正题了,我们在 PHP 中如何实现对称和非对称加密呢?非常简单,使用 OpenSSL 扩展就可以了。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202007/source/PHP%E7%9A%84OpenSSL%E5%8A...参考文档: https://www.php.net/manual/zh/function.openssl-encrypt.php https://www.php.net/manual/zh/function.openssl-decrypt.php

2.1K30

PHP RSA密文过长加密解密,PHP RSA证书大小自动适配,PHP RSA分段加密

项目中需要加密超长json内容才发现rsa加密长度有限制,于是换一种思路:我们将原本需要加密的内容拆分为多个字符串,一段一段的加密,解密端也是一段一段的解密即可完成。...(1).确认每次加密多少长度首先我们要知道rsa加密长度是多少,1024位的rsa能加密的长度也是1024位。那么我们一次加密多长的字符串比较好? 是不是1024/8呢?不是的!...PHP string. * privateKey => string....openssl_error_string()); } // bits数除以8 减去padding长度,OPENSSL_PKCS1_PADDING 长度是11 // php...* * @param string $text 需要加密的文本 * @param int $type 加密方式:1.公钥加密 2.私钥加密 * * @return

4910
领券