加密算法

不需要还原的口令需用SHA256加密算法加密

sha1hmac    sha1sum     sha224sum   sha256hmac  sha256sum   sha384hmac  sha384sum   sha512hmac  sha512sum


AES、3DES、RSA、SHA

SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院 (NIST) 发布的一系列密码散列函数。
以下是 SHA-1 算法的伪代码:
  (Initialize variables:) 
  a = h0 = 0x67452301
  b = h1 = 0xEFCDAB89
  c = h2 = 0x98BADCFE
  d = h3 = 0x10325476
  e = h4 = 0xC3D2E1F0
  (Pre-processing:)
  paddedmessage = (message) append 1
  while length(paddedmessage) mod 512 <> 448:
  paddedmessage = paddedmessage append 0
  paddedmessage = paddedmessage append (length(message) in 64-bit format)
  (Process the message in successive 512-bit chunks:) 
  while 512-bit chunk(s) remain(s):
  break the current chunk into sixteen 32-bit words w(i), 0 <= i <= 15
  (Extend the sixteen 32-bit words into eighty 32-bit words:)
  for i from 16 to 79:
  w(i) = (w(i-3) xor w(i-8) xor w(i-14) xor w(i-16)) leftrotate 1
  (Main loop:)
  for i from 0 to 79:
  temp = (a leftrotate 5) + f(b,c,d) + e + k + w(i) (note: all addition is mod 2^32)
  where:
  (0 <= i <= 19): f(b,c,d) = (b and c) or ((not b) and d), k = 0x5A827999
  (20 <= i <= 39): f(b,c,d) = (b xor c xor d), k = 0x6ED9EBA1
  (40 <= i <= 59): f(b,c,d) = (b and c) or (b and d) or (c and d), k = 0x8F1BBCDC
  (60 <= i <= 79): f(b,c,d) = (b xor c xor d), k = 0xCA62C1D6
  e = d
  d = c
  c = b leftrotate 30
  b = a
  a = temp
  h0 = h0 + a
  h1 = h1 + b 
  h2 = h2 + c
  h3 = h3 + d
  h4 = h4 + e
  digest = hash = h0 append h1 append h2 append h3 append h4
  注意:FIPS PUB 180-1 展示的构想,用以下的公式替代可以增进效能:
  (0 <= i <= 19): f(b,c,d) = (d xor (b and (c xor d)))
  (40 <= i <= 59): f(b,c,d) = (b and c) or (d and (b or c)))

AES密码学中的 高级加密标准 (Advanced Encryption Standard,AES),又称
   加密算法_第1张图片

高级加密标准

Rijndael加密法,是 美国联邦政府 采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由 美国国家标准与技术研究院  (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为 对称密钥 加密中最流行的算法之一。
  该算法为 比利时 密码学家Joan Daemen和Vincent Rijmen所设计,结合两位作者的名字,以Rijndael之命名之,投稿高级加密标准的甄选流程。(Rijdael的发音近于 "Rhinedoll"。)

AES加密数据块和密钥长度可以是128比特、192比特、256比特中的任意一个。AES加密有很多轮的重复和变换。大致步骤如下:1、密钥扩展(KeyExpansion),2、初始轮(Initial Round),3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、最终轮(Final Round),最终轮没有MixColumns。


3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。


RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。




你可能感兴趣的:(加密算法)