aes加密

加密解密及其javascript实现

徘徊边缘 提交于 2019-11-29 18:14:56
前端提交数据到后台,如果不适用https协议,则提交的数据就有被第三者窃取的可能。前端使用js来编码数据主要分为以下三种: 1、摘要算法 2、对称加密 3、非对称加密 下面分别介绍三种算法中对应的一个实例,并给出js实现例子。 MD5(摘要算法) 百度百科 MD5 即Message-Digest Algorithm 5(信息-摘要 算法 5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译 摘要算法 、 哈希算法 ),主流编程语言普遍已有MD5实现。将 数据 (如 汉字 )运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、 MD3 和 MD4 。 MD5的作用是让大容量信息在用 数字签名 软件签署私人 密钥 前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的 十六进制 数字串)。除了MD5以外,其中比较有名的还有 sha-1 、 RIPEMD 以及 Haval 等 javascript实现 实现官网 http://pajhome.org.uk/crypt/md5/index.html 网站介绍用途: 1、保护明文密码,将密码经过MD5函数换算为 128bit的 散列值。 2、生成密码,用户使用统一的密码,同时添加上域名,计算出MD5散列值,用于各个网站的密码。 3、生成自解密文档,生成的文档,可以嵌入html网页

iOS加密之AES

你说的曾经没有我的故事 提交于 2019-11-28 20:07:28
心急的童鞋直接看这里 Demo 运行之后可以去在线加密 网站 验证 AES(Advanced Encryption Standard)高级加密标准,又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES AES的五种加密模式 AES有五种加密模式(CBC、ECB、CTR、OCF、CFB) 1.电码本模式(Electronic Codebook Book (ECB) 2.密码分组链接模式(Cipher Block Chaining (CBC)) 3.计算器模式(Counter (CTR)) 4.密码反馈模式(Cipher FeedBack (CFB)) 5.输出反馈模式(Output FeedBack (OFB)) 在iOS用到的一般就是ECB和CBC两种。 ECB-电码本模式 ECB是最简单的块密码加密模式,加密前根据加密块大小(AES加密块固定为128位)分成若干块,之后将每块使用相同的密钥单独加密,所以加密块相同的明文会生成相同的密文。 CBC-密码分组链接模式 CBC模式对于每个待加密的密码块在加密前会先与前一个密码块的密文异或然后再用加密器加密。第一个明文块与一个叫初始化向量的数据块异或。 OK,最简单的理论理解了,就来看iOS最重要的干货:加解密函数 CCCrypt CCCrypt - 加解密函数 CCCryptorStatus

SS端加密以及obfs混淆推荐

断了今生、忘了曾经 提交于 2019-11-28 16:14:58
SS端加密以及obfs混淆 目前SS端最推荐的加密以及obfs混淆如下: 推荐加密方式:aes-256-gcm 、chacha20-ietf-poly1305、aes-128-gcm、aes-192-gcm (排名分先后)推荐的混淆obfs:首选http、次选tls ​ 注:加密方式推荐是因为AEAD本身有新的特性,另外主推荐aes-256-gcm是因为这个加密实测多数主流设备下都可以通过硬件加解密,减少系统性能资源的依赖。 ​ 混淆方式理论上tls是最佳,但目前以联通上网记录最直观的结果来看,使用tls混淆会使混淆域名“无效”直接显示代理服务器IP,而http可以正常显示混淆域名,至少看上去达到了伪装的效果,故,目前而言,推荐使用http混淆。 综上所述: SS最佳推荐加密方式:aes-256-gcm,最佳obfs:http SSR端最推荐的加密、协议以及obfs混淆如下: 推荐加密方式:chacha20-ietf、aes-128-ctr及其它 推荐的最佳协议:auth_sha1_v4_compatible及其它 推荐的最佳混淆:tls1.2_ticket_auth_compatible及其 ​ 目前网络综合环境而言,以上推荐就已经是最佳推荐,最好的组合。那为什么不是auth_chain_a或b? ​ 答案很简单,这2个协议在服务端上并没有上面推荐的协议稳定,并且更耗系统资源

HLS--M3U8解析

偶尔善良 提交于 2019-11-28 15:50:25
目录 1 简介 2 2 概述 2 3 播放列表文件 3 3.1 介绍 3 3.2新标签 4 3.2.1 EXT-X-TARGETDURATION 4 3.2.2 EXT-X-MEDIA-SEQUENCE 4 3.2.3 EXT-X-KEY 4 3.2.4 EXT-X-PROGRAM-DATE-TIME 5 3.2.5 EXT-X-ALLOW-CATCH 5 3.2.6 EXT-X-ENDLIST 5 3.2.7 EXT-X-STREAM-INF 5 3.2.8 EXT-X-DISCONTINUITY 6 3.2.9 EXT-X-VERSION 6 4 多媒体文件 7 5 密钥文件 7 5.1 介绍 7 5.2 IV FOR AES-128 7 6 客户端/服务器行为 8 6.1 介绍 8 6.2 服务器进程 8 6.2.1介绍 8 6.2.2 滑动窗口播放列表 9 6.2.3 加密媒体文件 9 6.2.4 提供变种数据流 10 6.3 客户端进程 10 6.2.1 介绍 10 6.2.2 加载播放列表文件 11 6.2.3播放播放列表文件 11 6.2.4重新载入播放列表文件 11 6.2.5 确定下一个要加载的文件 12 6.2.6 解密经加密的媒体文件 12 7 协议版本的兼容性 12 8 例子 12 8.1 简单的播放列表文件 12 8.2 滑动窗口播放列表,使用https

android m platfomr secure image

那年仲夏 提交于 2019-11-28 07:28:46
1 Setup Build Environment. 1 1.1 Install the perl package on the build machine. 1 2 Build Secure install.img.. 2 2.1 Bootcode. 2 2.2 Kernel. 3 2.3 Image file and Makefile.in.. 3 3 Generate Image. 7 3.1 Build install image. 7 3.2 Check install.img.. 7 1 Setup Build Environment 1.1 The Ubuntu release The Ubuntu 14.04 64 bit release is the recommend developing environment. You might be able to use the later Ubuntu release as your developing environment as well. 1.2 Install the Compile Toolchain 1.2.1 Download the necessary toolchains from Realtek FTP site. ToolChain Name FTP Site Remark icedtea

【密码学】AES简单学习

本秂侑毒 提交于 2019-11-27 20:48:03
欧拉函数 公式 φ(n)=(p-1)(q-1) 小于x并且和x互质的数的个数 相关概念 因数:a*b=c 那么就称 a、b 是 c 的因数 素数:一个数如果除了1与它本身之外没有其他的因数,那么这个数就被称为素数(prime) 公因数:共同的因数,比如 8 和 10 的公因数是 2、1,最大公因数是 2 互质:最大公因数是 1 例如:7、3,最大公因数是 1,他们互质 gcb(7,3)=1 φ(10)=4 (1,3,7,9) 对于公式的解释 p、q 都是素数,例如:10,p、q 分别为 2、5,φ(10)=(p-1)(q-1)=(2-1)(5-1)=4 取模运算 如果存在正整数 m 与两个整数 a、b,如果 a-b 能被 m 整除,那么 a 和 b 模 m 同余 记作:a ≡ b mod(m) 模指数运算 先进行指数运算,在进行取模运算 记作:a ≡ bⁿ mod(m) python中处理函数 pow(x,y,z) 意思是计算x的y次方,如果z存在对结果进行取模 等效于pow(x,y)%z 欧几里得拓展算法 对于不完全为0的非负整数a,b,gcb(a,b)表示a,b的最大公约数,必然存在x,y使得gcb(a,b)=ax+by 证明: 假设 a>b   1、显然当 b=0,gcd(a,b)=a,此时 x=1,y=0;   2、ab!=0 时,设 ax1+by1=gcd(a,b);  

常见加密方式的Python实现

浪尽此生 提交于 2019-11-27 05:35:57
常见加密方式的Python实现 1. 前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的 Bytes 。 所以当我们在Python中进行加密操作的时候,要确保我们操作的是 Bytes ,否则就会报错。 将字符串和 Bytes 互相转换可以使用 encode() 和 decode() 方法。如下所示: # 方法中不传参数则是以默认的utf-8编码进行转换 enc = 'PyJun' . encode ( ) print ( enc ) print ( enc . decode ( ) ) # b'PyJun' # PyJun 注:两位十六进制常常用来显示一个二进制字节。 利用 binascii 模块可以将十六进制显示的字节转换成我们在加解密中更常用的显示方式: import binascii info = binascii . b2a_hex ( b 'PyJun' ) print ( info ) print ( binascii . a2b_hex ( info ) ) # b'50794a756e' # b'PyJun' 2. URL编码 正常的URL中是只能包含ASCII字符的,也就是字符、数字和一些符号。而URL编码就是一种浏览器用来避免url中出现特殊字符(如汉字)的编码方式。 其实就是将超出ASCII范围的字符转换成带 %

mysql 加密 解密函数

假装没事ソ 提交于 2019-11-26 17:26:07
select HEX(AES_ENCRYPT('你好世界','ABC123456')) select AES_DECRYPT(UNHEX('E85A104B6142A7375E53C0545CAD48EE'),'ABC123456') HEX() 二进制转十六进制 UNHEX() 十六进制转 二进制 AES_ENCRYPT(字符串,秘钥) 加密函数 AES_DECRYPT(字符串,秘钥) 解密函数 来源: https://www.cnblogs.com/ericblog1992/p/11329079.html

IPSec 虚拟专用网原理与配置

风格不统一 提交于 2019-11-25 20:36:43
* 博文大纲 * 虚拟专用网实现的各种安全特性 * 理解ISAKMP/IKE两个阶段的协商建立过程 1.虚拟专用网概述 虚拟专用网技术起初是为了解决明文数据在网络上传输所带来安全隐患而产生的, 2.虚拟专用网的定义 虚拟专用网就是在两个实体之间建立的一种受保护的连接,这两个可以通过点到点的链路直接相连,但通常情况下它们会相隔较远的距离 3.虚拟专用网的模式与类型 (1)虚拟专用网的连接模式 有两种基本的连接模式:分为传输模式和隧道模式, 传输模式(适用与公有网络或私有网络) 传输模式一个最显著的特点就是,在整个虚拟专用网的过程中,IP包头并没有被封装进去,这就意味着从源端到目的端数据始终使用原有IP地址进行通信。 隧道模式(适用公有地址和私有地址混合环境) 隧道模式与传输模式的区别明显,隧道模式保护IP包头与数据,传输模式只保护数据 4.虚拟专用网的类型 站点到站点(L2L ) (Lna to Lna) 站点到站点虚拟专用网就是通过隧道模式在虚拟专用网网关之间保护两个或多个站点之间的流量,站点的流量通常是指局域网之间(L2L)的通信流量。 如图: 远程访问虚拟专用网(Ra) 远程访问虚拟专用网通常用于单用户设备与虚拟专用网的网关之间的通信连接,单用户设备一般为一台PC或小型办公网络等 5.加密算法 DES 3DES AES 加密就是一种将数据转化成另一种形式的过程