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

相关文章

常用加密算法之 RSA 简介及应用

引言 相关博文: Spring Boot 开发 – 常用加密算法简介(一)常用加密算法之 SM4 简介及应用 一、RSA算法简介 RSA (Rivest-Shamir-Adleman) 算法是一种非对称加密技术,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年发明。它基于大数质因数分解的困难性,提供了一种安全的数据加密和解密方法。 1. 密钥生成

RSA非对称的加密算法

首先RSA是一个非对称的加密算法,所以在使用该算法加密解密之前,必须先行生成密钥对,包括公钥和私钥 JDK中提供了生成密钥对的类KeyPairGenerator,实例如下: public static Map<String, Object> genKeyPair() throws Exception {   // 获取公钥私钥密钥对的生成器   KeyPairGenerator kpg

oracle忘记sys密码

.打开cmd,输入sqlplus /nolog,回车;输入“conn / as sysdba”;输入“alter user sys identified by 新密码”,注意:新密码最好以字母开头,否则可能出现错误Ora-00988。有了这个方法后,只要自己对oracle服务器有管理员权限,不记得密码的时候就可以随意修改密码了。

重装系统时忘记拔U盘或移动硬盘导致磁盘盘符错位

通常会遇到在重装系统时忘记拔U盘或移动硬盘导致磁盘盘符错位,原因是原来的盘符被U盘或移动硬盘占用。磁盘管理里面,没有d盘盘符,是因为你拔了u盘后,电脑又把光驱当d盘了。更改盘符,首先把C盘外的其他盘符都改到较后面的盘符,比如z、x、y等等,然后再按顺序改回来(否则经常会要e盘,但已经有e盘这种被占用盘符的情况),记得要连光驱的盘符也改。如果出现E盘或其他盘有页面文件显示磁盘被占用这种情况:解决办法

在JIRA的一个项目中,如何设置让项目中的问题可以设置不同的权限让不同的人看到。

JIRA的项目权限设置中有两种: 项目权限;问题安全。 项目权限设置项目的管理者、浏览者、创建、编辑、删除、被分配问题权限、备注、时间追踪、投票、关注等权限。 问题安全设置则设置项目中的问题哪些人允许看到,通过设置这个就可以设置创建的问题可以让谁看到,谁看不到。 首先要在管理员界面上选择”界面“》”问题安全方案“,添加一个问题安全方案,然后选择”安全级别“。添加这个问题安全方案下的安全级别

VBA学习(15):工作表加密保护后却把密码忘记了?

今天把过去的一篇推文重新整理一下,提供两种解除工作表加密的方法。 一种是傻瓜模式的VBA,复制运行以下代码,即可抹除当前工作簿所有工作表的保护加密。 Sub UnProtct()MsgBox "破解提示:当要求输入密码时请点击取消!”"Application.DisplayAlerts = FalseOn Error Resume NextDim sht As WorksheetFor Ea

RSA —非对称加密算法

常见的数字加密方式分为两类:对称加密 和 非对称加密。       对称加密,又称为私钥加密,指的是加密和解密使用同一个密钥的方式。其特点是加密和解密过程简单、快速,并且只需要一个密钥。常见的对称加密算法包括DES、AES等。然而,由于使用的是同一个密钥,如果密钥被黑客拦截,信息就很容易被破译。        非对称加密,又称为公钥加密,是指使用一对非对称密钥进行加密的方式,其中一个密钥是公钥

在创建销售订单时,选择物料只能看到物料编码,不能看到物料的名称

在创建销售订单时,选择物料只能看到物料编码,不能看到物料的名称 在创建销售订单时,选择物料的信息,只能看到物料的编码,不能看到物料的名称,非常的不方便。因为不可能所有的物料编码大家都记得住。 在系统中是有对应的设置: 在设置->公司->一般首选项中,选择显示名称和物料代码。 下达销售订单时可以查看: 可见当前已经可以在销售订单上,看到物料的编码和物料的显示名称。

SM9加密算法:安全、高效的国产密码技术

随着信息技术的飞速发展,网络安全问题日益凸显。加密算法作为保障信息安全的核心技术,受到了广泛关注。在我国,一种名为SM9的加密算法逐渐崭露头角,凭借其卓越的安全性能和高效计算能力,成为了新一代国产密码技术的代表。 SM9算法简介 SM9(商密9号)算法是一种基于椭圆曲线的公钥密码体制,由中国密码学家于2016年提出。与传统的公钥密码体制(如RSA和ECC)不同,SM9算法不需要数字证书,而是直

常用加密算法之 SM4 简介及应用

一、SM4 简介 SM4 是中国国家密码管理局提出的一种分组密码算法,也称为 SMS4。它属于对称加密算法,分组长度为 128 比特,密钥长度也为 128 比特。SM4 算法采用了与 AES 类似的轮函数结构,但具体的 S 盒和线性变换与 AES 不同,因此具有独特的加密性能。 1. 算法特点 分组长度:128 比特(16 字节) 密钥长度:128 比特(16 字节) 轮数:32 轮 安全强