著名加密庫收集 Encrypt

 CryptoAPI

微軟的CryptoAPI

crypt32.lib,advapi32.lib,cryptui.libphp

#include <wincrypt.h>
#include <cryptuiapi.h>html

CryptAcquireContext
CryptReleaseContext

CryptCreateHash
CryptHashData
CryptDestroyHash
CryptEncrypt
CryptDecrypt
View Code

 支持md2,md4,md5,sha,sha1,mac,des,3des...java

api,every development language can use this function!c++

 

http://www.programlife.net/windows-cryptoapi-calc-md5.htmlgit

https://msdn.microsoft.com/en-us/library/ms867086.aspxgithub

cryptlib

https://www.cs.auckland.ac.nz/~pgut001/cryptlib/算法

http://www.cypherpunks.to/~peter/cl343_beta.zipsql

新西蘭人開發,windows

Peter Gutmann 設計api

for c .

delphi by activex

Crypto++® Library 5.6.2

http://www.cryptopp.com/

 c++設計

OpenSSL庫

http://www.openssl.org/docs/crypto/crypto.html

eg. http://blog.csdn.net/lostaway/article/details/7496189

由SSleay發展而來,文檔嚴重不足

by c 語言開發

TurboPower LockBox 3

http://lockbox.seanbdurkin.id.au/HomePage

http://lockbox.seanbdurkin.id.au/Grok+TurboPower+LockBox

https://github.com/SeanBDurkin/tplockbox

libeay32.dll

v3.6.2 ,2015.4.29,for xe7

 for delphi Component

  •  Support for Win32, Win64, Android, iOS, and OS X. 

TCodec, TCryptographicLibrary, THash, TOpenSSL_Codec, TOpenSSL_Signatory,TSignatory

 用的是哪種填充方式?

最終沒法肯定填充方式,改用aes源碼解決了與java、.net、網站在線加密 互相識別的AES算法

DCPcrypt

DCPcrypt Cryptographic Component Library v2.1 

http://www.cityinthesky.co.uk/opensource/

TDCP_md5

self.DCP_blowfish1.EncryptStream()

for delphi Component DAvid Barton 2002

3DES、Blowfish、Cast12八、DES、Ice、Ice二、RC二、RC四、Rijndael、Serpent、Tea、Thin Ice、Twofish; but not aes

Haval (256bit, 5 passes)、MD四、MD五、RipeMD-12八、RipeMD-160、SHA一、SHA25六、SHA38四、SHA5十二、Tiger、

2014.10 for xe5

 Easy Crypt

http://rapware.nl/index.php?page=download

Netherlands,荷蘭開發,support xe8 ,本質上是對microsoft CryptoAPI 封裝。v6.1.1

Rijndael (AES), 3DES, DES, MAC, HMAC, RC2, RC4, RC5, MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512 and RSA.

TRwMemoryCertStore
TRwSystemCertStore
TRwCSP

 Caption := self.RwCSP1.HashAnsiString('ww', TRwBinEncoding.beHexEncoded);

RwCSP1.EncryptStream

for delphi Component

 ksaiy

http://www.ksaiy.com

http://www.magicoa.com 

but not find 

 

pslab 

http://www.pefine.com/crackme.htm

delphi的案例已經不支持unicode,Ansitring下沒有問題!

 

sql server 2008 support :

MD2 | MD4 | MD5 | SHA | SHA1

select HASHBYTES('MD5','中國');
select SUBSTRING(sys.fn_sqlvarbasetostr(HASHBYTES('MD5','中國')),3,32)

https://msdn.microsoft.com/en-us/library/ms174415(v=sql.105).aspx

 

非對稱 推薦 aes,blowfish 

 

模式

ECB / CBC / CFB / OFB 

ECB的缺陷:能從密文看出明文的規律

加 密算法是按塊進行加密的, DES ,是 64Bit 一個塊的進行加密,就是每次加密 8 個字節,所以每次輸入八個字節的明文輸出八個字節密文,若是是 16 個字節,那麼分紅兩個塊依次進行加密,問題就出如今這裏,若是明文是 1234567812345678,分塊分別進行加密,那麼加密的結果相似「C4132737962C519C C4132737962C519C」,能夠看出明文的規律,這就是 ECB 加密模式,密文能夠看出明文的規律

CBC/CFB/OFB:

爲 瞭解決這個問題,有了其餘的加密模式:CBC 加密模式(密碼分組鏈接),CFB加密模式(密碼反饋模式),OFB加密模式(輸出反饋模式)CBC 是要求給一個初始化的向量,而後將每一個輸出與該向量做運算,並將運算的結果做爲下一個加密塊的初始化向量,CFB 和 OFB 則不須要提供初始化向量,直接將密碼或者輸出做爲初始化向量進行運算;這樣就避免了明文的規律出如今密文中;固然缺點是解密時須要保證密文的正確性,若是 網絡傳輸時發生了一部分錯誤,則後面的解密結果就多是錯誤的;(ECB模式僅影響傳輸錯誤的那個塊);

 

填充

NoPadding、PKCS5Padding、PKCS7Padding、ISO10126Padding、zeropading          

JAVA

NoPadding、PKCS5Padding

   

 默認是PKCS5Padding

明文長度  密文長度

1..7  8

8..15  16

16..31  32

 

 http://tool.chacuo.net/cryptblowfish

這個最強

http://blog.csdn.net/kunlun122/article/details/29270219

相關文章
相關標籤/搜索