xxtea加密算法-忘记是从哪里看到的了

2024-06-16 02:38

本文主要是介绍xxtea加密算法-忘记是从哪里看到的了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • xxtea.py
#!/usr/bin/python
# -*- coding:utf-8 -*-import structdef btea(v, n, k): #xxtea加密算法MX = lambda: ((z>>5)^(y<<2)) + ((y>>3)^(z<<4))^(sum^y) + (k[(p & 3)^e]^z)u32 = lambda x: x & 0xffffffffy = v[0]sum = 0DELTA = 0x9e3779b9if n > 1: z = v[n-1]q = 6 + 52 / nwhile q > 0:q -= 1sum = u32(sum + DELTA)e = u32(sum >> 2) & 3p = 0while p < n - 1:y = v[p+1]z = v[p] = u32(v[p] + MX())p += 1y = v[0]z = v[n-1] = u32(v[n-1] + MX())return Trueelif n < -1:n = -nq = 6 + 52 / nsum = u32(q * DELTA)while sum != 0:e = u32(sum >> 2) & 3p = n - 1while p > 0:z = v[p-1]y = v[p] = u32(v[p] - MX())p -= 1z = v[n-1]y = v[0] = u32(v[0] - MX())sum = u32(sum - DELTA)return Truereturn Falseif __name__ == '__main__': #简单试验print "key", "1234567890123456"key = struct.unpack("=iiii", "1234567890123456")v = [110, 111, 112, 113]print vbtea(v, 4, key)print vbtea(v, -4, key)print v
  • 测试
admin$ python xxtea.py
key 1234567890123456
[110, 111, 112, 113]
[2210921364, 249748794, 3317857568, 1737089717]
[110, 111, 112, 113]
admin$

这篇关于xxtea加密算法-忘记是从哪里看到的了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1065274

相关文章

AES加密算法说明

首先,我们得了解AES加密算法的一些基本概念。AES是一种对称加密算法,所谓对称,是说它的加密、解密过程使用相同的密钥。还有非对称加密算法,例如RSA,加密解密使用的是公私钥对。 AES同时是一种分组加密算法,分组的长度一般是16字节(128bit)。分组是什么意思呢?假设我有一段很长的明文T,我没法用AES加密整个T,只能将T分成若干16byte的明文组,接着对这些明文组逐个进行加密,得到一堆密

linux mysql 忘记root密码

今天,忘了mysql下的root密码,想重置一下,但找了多个网站上的方法均有问题,最后参考几家的过程,经过不断尝试获得,终于成功了,下面特将过程分享给大家:   环境: 操作系统:Centos 5.5 数据库:MySQL 5.0.77   过程: 1、关闭mysql。 [root@localhost ~]#service mysqld stop Stopping MySQ

mysql 5.6 ,5.7 ,8.0 忘记密码,及修改密码问题

5.5版本 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。  因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的  状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对  外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全  状态。最安全的状态是到服务器的Console上

centos7下Mairadb忘记密码修改

在centos7下忘记了Mairadb的密码 如下图所示 用vi编辑器或者nano centos7好像没有自带nano用 yum -y install nano来安装 之后打开 nano /etc/my.cnf 添加如下图所示 skip-grant-tables之后保存退出  systemctl restart mariadb.service 重启服务 重新设置密码

【SM系列】简单说说SM2,SM3,SM4加密算法

希望文章能给到你启发和灵感~ 如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏 支持一下博主吧~ 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、什么是SM2加密?2.1 应用场景2.2 与RSA算法的区别 三、什么是SM3加密?3.1 应用场景 四、什么是SM4加密?4.1 应用场景 五、最后 开篇说明 之前我们说过了几种常见加密算法,今天我

音乐播放器javaweb项目近日总结,用js,css,HTML,servlet,mybatis来写注册登录忘记密码(还没写好)

这几天学了js,css,HTML,servlet,mybatis,还有axios,目前axios还没有用到,学的比较慢因为那个servlet,axios我看不懂,可能看懂了然后不会用,之后给我们上了一节课,感觉每一个东西单独拆开好像学过,但是放在一起听的很懵,今天我就到处翻博客反复看了点代码,终于知道了一点前后端交互就赶紧写了点。 因为是小白所以写的有些感觉没必要写的比较详细方便自己记忆

windows 忘记密码 强制修改重置密码

不需要重装系统!不需要重装系统!不需要重装系统!   1. 下载一个pe工具,比如“u深度win10pe”,在另外一台电脑上安装 http://www.ushendu.com/usddownload/,下载装机版   2. 该电脑插入一个U盘; 3. 启动软件 4. 点击开始制作,制作完之后,可以点击“模拟启动”看看有没有写入U盘成功,然后关闭,并拔出U盘 5.该电脑在

一些看过的怕忘记的链接

如何写出漂亮的博文 千万要避免的五种程序注释方式  一个合格的程序员应该读过哪些书

平时简单但却爱忘记的简单linux命令

ubuntu 14.04 切换由一般用户到root用户:sudo -s ,这时若想切换回去可用exit 切换由root用户到一般用户:su 用户名,