sha1加密

json ,pickle模块

女生的网名这么多〃 提交于 2020-03-25 04:54:25
OS 模块 os 常用方法 os.remove(‘path/filename’) 删除文件 os.rename(oldname, newname) 重命名文件 os.walk() 生成目录树下的所有文件名 os.chdir('dirname') 改变目录 os.mkdir/makedirs('dirname')创建目录/多层目录 os.rmdir/removedirs('dirname') 删除目录/多层目录 os.listdir('dirname') 列出指定目录的文件 os.getcwd() 取得当前工作目录 os.chmod() 改变目录权限 os.path.basename(‘path/filename’) 去掉目录路径,返回文件名 os.path.dirname(‘path/filename’) 去掉文件名,返回目录路径 os.path.join(path1[,path2[,...]]) 将分离的各部分组合成一个路径名 os.path.split('path') 返回( dirname(), basename())元组 os.path.splitext() 返回 (filename, extension) 元组 os.path.getatime\ctime\mtime 分别返回最近访问、创建、修改时间 os.path.getsize() 返回文件大小 os.path

微信小程序 sha1 实现密码加密

﹥>﹥吖頭↗ 提交于 2020-03-20 15:15:53
在utils中的util.js 文件中增加 函数 实现 字符串转换为16进制加密后的字符串 function encodeUTF8(s) { var i, r = [], c, x; for (i = 0; i < s.length; i++) if ((c = s.charCodeAt(i)) < 0x80) r.push(c); else if (c < 0x800) r.push(0xC0 + (c >> 6 & 0x1F), 0x80 + (c & 0x3F)); else { if ((x = c ^ 0xD800) >> 10 == 0) //对四字节UTF-16转换为Unicode c = (x << 10) + (s.charCodeAt(++i) ^ 0xDC00) + 0x10000, r.push(0xF0 + (c >> 18 & 0x7), 0x80 + (c >> 12 & 0x3F)); else r.push(0xE0 + (c >> 12 & 0xF)); r.push(0x80 + (c >> 6 & 0x3F), 0x80 + (c & 0x3F)); }; return r; }; // 字符串加密成 hex 字符串 function sha1(s) { var data = new Uint8Array(encodeUTF8(s)) var

C#使用SHA1加密类(RSAFromPkcs8)支持1024位和2048位私钥

霸气de小男生 提交于 2020-03-02 01:06:57
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Security.Cryptography; namespace HelloWord.RSA { /// <summary> /// 类名:RSAFromPkcs8 /// 功能:RSA加密、解密、签名、验签 (支持1024位和2048位私钥) /// 详细:该类对Java生成的密钥进行解密和签名以及验签专用类,不需要修改 /// 版本:3.0 /// 日期:2013-07-08 /// 说明: /// 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。 /// </summary> public sealed class RSAFromPkcs8 { /** * RSA最大解密密文大小 * 注意:这个和密钥长度有关系, 公式= 密钥长度 / 8 */ private const int MAX_DECRYPT_BLOCK = 128; /// <summary> /// 签名 /// </summary> /// <param name="content">待签名字符串</param> /

加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较

末鹿安然 提交于 2020-02-29 17:15:20
转载自:http://www.cnblogs.com/sochishun/p/7028056.html 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用 加密技术通常分为两大类:"对称式"和"非对称式"。 对称性加密算法: 对称式加密就是加密和解密使用同一个密钥。信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了。对称加密算法用来对敏感数据等信息进行加密。 非对称算法: 非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用,否则不能打开加密文件。发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消 息,则先需要用B的公有密匙进行消息加密,然后发送给B端,此时B端再用自己的私有密匙进行消息解密,B向A发送消息时为同样的道理。 散列算法: 散列算法,又称哈希函数,是一种单向加密算法。在信息安全技术中,经常需要验证消息的完整性,散列(Hash)函数提供了这一服务,它对不同长度的输入消息,产生固定长度的输出。这个固定长度的输出称为原输入消息的"散列"或"消息摘要"(Message digest)。散列算法不算加密算法,因为其结果是不可逆的,既然是不可逆的,那么当然不是用来加密的,而是签名。 对称性加密算法有

AES,SHA1,DES,RSA,MD5区别 

牧云@^-^@ 提交于 2019-12-09 23:52:55
AES,SHA1,DES,RSA,MD5区别 加密 版权声明:本文为博主原创文章,未经博主允许不得转载。 AES:更快,兼容设备,安全级别高; SHA1:公钥后处理回传 DES:本地数据,安全级别低 RSA:非对称加密,有公钥和私钥 MD5:防篡改 相关: 公开密钥加密( 英语 : public-key cryptography ,又译为公开密钥加密),也称为非对称加密(asymmetric cryptography),一种 密码学 算法 类型,在这种密码学方法中,需要一对密钥,一个是私人密钥,另一个则是公开密钥。这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。 DES现在已经不是一种安全的加密方法,主要因为它使用的56位密钥过短。1999年1月, distributed.net 与 电子前哨基金会 合作,在22小时15分钟内即公开破解了一个DES密钥。也有一些分析报告提出了该算法的理论上的弱点,虽然在实际中难以应用。为了提供实用所需的安全性,可以使用DES的派生算法 3DES 来进行加密,虽然3DES也存在理论上的攻击方法。在2001年,DES作为一个标准已经被高级加密标准(AES)所取代。另外

详解Node.js API系列 Crypto加密模块(1)

与世无争的帅哥 提交于 2019-12-04 02:18:50
MD5加密算法 算法简介 MD5的全称是Message-Digest Algorithm 5(信息- 摘要算法 ),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用 数字签名软件 签署私人密匙前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2、md4还是 md5 ,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要. MD5 算法的 哈希值 大小为 128 位。是一种不可逆的算法。 算法特点 两个不同的明文不会得到相同的输出值 MD5结果不能反推明文,不可逆 安全性 从安全的角度讲,MD5的输出为128位,若采用纯强力攻击寻找一个消息具有给定 Hash 值的计算困难性为2128,用每秒可试验1000000000个消息的计算机需时1.07×1022年。若采用 生日攻击 法,寻找有相同Hash值的两个消息需要试验264个消息,用每秒可试验1000000000个消息的计算机需时585年。 实际应用上,例如我知道‘password’的MD5值是5f4dcc3b5aa765d61d8327deb882cf99,那么我就用一个数据库存起来

哈希算法MD5和SHA1的C#实现

风流意气都作罢 提交于 2019-12-02 02:58:24
/* * 哈希算法MD5和SHA1的C#实现 * * * 夏春涛 Email:xChuntao@163.com * Blog:http://bluesky521.cnblogs.com * 运行环境:.net2.0 framework */ /* * 关于哈希函数: * 哈希函数将任意长度的二进制字符串映射为固定长度的小型二进制字符串。 * 加密哈希函数有这样一个属性:在计算上不大可能找到散列为相同的值的两个 * 不同的输入;也就是说,两组数据的哈希值仅在对应的数据也匹配时才会匹配。 * 数据的少量更改会在哈希值中产生不可预知的大量更改。 * * MD5 算法的哈希值大小为 128 位。 * SHA1 算法的哈希值大小为 160 位。 */ using System; using System.Collections.Generic; using System.Text; using System.Security.Cryptography; namespace MD5_App { class Program { static void Main(string[] args) { string strSrc = "How are you?"; Console.WriteLine("原文:" + strSrc); Console.WriteLine(); Console

bugku 各种·绕过

余生颓废 提交于 2019-12-01 16:22:59
点开是一段PHP的代码,先来审计一波代码。 发现将uname和passwd用sha1进行了加密,那么我们只要绕过这个函数构造相等就可以了。 可以使这两个值sha1的值相等,但他们本身的值又不等。(想详细了解sha1函数绕过的可以看我的这篇博客) 构造 http://120.24.86.145:8002/web7/?uname[]=1&id=margin 并用发送passwd[]=2的请求即可。 便可成功得到flag 来源: https://www.cnblogs.com/lzlzzzzzz/p/11692811.html

json ,pickle模块

左心房为你撑大大i 提交于 2019-12-01 06:59:54
OS 模块 #os模块就是对操作系统进行操作,使用该模块必须先导入模块: import os #getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹) result = os.getcwd() print(result) #chdir()改变当前工作目录 os.chdir('/home/sy') result = os.getcwd() print(result) open('02.txt','w') #操作时如果书写完整的路径则不需要考虑默认工作目录的问题,按照实际书写路径操作 open('/home/sy/下载/02.txt','w') #listdir() 获取指定文件夹中所有内容的名称列表 result = os.listdir('/home/sy') print(result) #mkdir() 创建文件夹 #os.mkdir('girls') #os.mkdir('boys',0o777) #makedirs() 递归创建文件夹 #os.makedirs('/home/sy/a/b/c/d') #rmdir() 删除空目录 #os.rmdir('girls') #removedirs 递归删除文件夹 必须都是空目录 #os.removedirs('/home/sy/a/b/c/d') #rename() 文件或文件夹重命名 #os.rename(

C#使用SHA1加密类(RSAFromPkcs8)支持1024位和2048位私钥

我与影子孤独终老i 提交于 2019-11-29 19:46:52
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Security.Cryptography; namespace HelloWord.RSA { /// <summary> /// 类名:RSAFromPkcs8 /// 功能:RSA加密、解密、签名、验签 (支持1024位和2048位私钥) /// 详细:该类对Java生成的密钥进行解密和签名以及验签专用类,不需要修改 /// 版本:3.0 /// 日期:2013-07-08 /// 说明: /// 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。 /// </summary> public sealed class RSAFromPkcs8 { /** * RSA最大解密密文大小 * 注意:这个和密钥长度有关系, 公式= 密钥长度 / 8 */ private const int MAX_DECRYPT_BLOCK = 128; /// <summary> /// 签名 /// </summary> /// <param name="content">待签名字符串</param> /