CryptoAPI

微软的CryptoAPI

crypt32.lib,advapi32.lib,cryptui.lib

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

CryptAcquireContext
CryptReleaseContext CryptCreateHash
CryptHashData
CryptDestroyHash
CryptEncrypt
CryptDecrypt

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

api,every development language can use this function!

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

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

cryptlib

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

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

新西兰人开发,

Peter Gutmann 设计

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、Cast128、DES、Ice、Ice2、RC2、RC4、Rijndael、Serpent、Tea、Thin Ice、Twofish; but not aes

Haval (256bit, 5 passes)、MD4、MD5、RipeMD-128、RipeMD-160、SHA1、SHA256、SHA384、SHA512、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

著名加密库收集 Encrypt的更多相关文章

  1. AES加密 C++调用Crypto++加密库 样例

    这阵子写了一些数据加密的小程序,对照了好几种算法后,选择了AES,高级加密标准(英语:Advanced Encryption Standard,缩写:AES).听这名字就非常厉害的样子 预计会搜索到这 ...

  2. 【JS加密库】SJCL :斯坦福大学JS加密库

    斯坦福大学Javascript加密库简称SJCL,是一个由斯坦福大学计算机安全实验室创立的项目,旨在创建一个安全.快速.短小精悍.易使用.跨浏览器的JavaScript加密库. 斯坦福大学下载地址:h ...

  3. SJCL:斯坦福大学JS加密库

    斯坦福大学Javascript加密库简称SJCL,是一个由斯坦福大学计算机安全实验室创立的项目,旨在创建一个安全.快速.短小精悍.易使用.跨浏览器的JavaScript加密库.(斯坦福大学下载地址:h ...

  4. 【Java库】如何使用优秀的加密库Jasypt来保护你的敏感信息?

    1 简介 今天我们介绍一个Java库-Jasypt,全称为Java Simplified Encryption,用于加密解密.它能够让开发者用花费最小的工作而把加密集成到项目中,并且不需要对加密/解密 ...

  5. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

    [原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文  http: ...

  6. Node.js_密码明文_密文_加密库_sha1

    加密库 sha1 加密模块,能够将指定 明文 加密成一个长度相等的 密文 let pwd = 'qwe123456'; const secret = sha1(pwd); 同样的明文,加密得到同样的密 ...

  7. JS 的加密库简介

    作为前端,数据提交到后台之前,重要的数据要进行加密一下,虽然已经有 https 等技术,但是增加一道前端的加密还是相对更安全的.虽然,前端的加密很容破解,但是有总比没有强. 尤其是涉及到用户名和密码, ...

  8. KiCad 开源元件库收集

    KiCad 开源元件库收集 KiCad 官方 https://gitee.com/KiCAD-CN (国内镜像) https://github.com/kicad Digikey KiCad 元件库 ...

  9. JS加密库

    作者声明:本博客中所写的文章,都是博主自学过程的笔记,参考了很多的学习资料,学习资料和笔记会注明出处,所有的内容都以交流学习为主.有不正确的地方,欢迎批评指正 本文主要是参考aicoder马伦老师的博 ...

随机推荐

  1. 基于Linux的oracle数据库管理 part3( 存储 网络 常用命令 )

    主要内容 1. 常用存储模式 2. 配置网络 3. 维护指令 常用存储模式 - 文件系统 优点:管理方便, 缺点:读写慢 - 裸设备 只没有被格式化和挂载的磁盘, 只能有程序直接访问, 不能被操作系统 ...

  2. list::splice()函数详解

    http://blog.csdn.net/bichenggui/article/details/4674900 list::splice实现list拼接的功能.将源list的内容部分或全部元素删除,拼 ...

  3. Qt之Tab键切换焦点顺序

    简介 Qt的窗口部件按用户的习惯来处理键盘焦点.也就是说,其出发点是用户的焦点能定向到任何一个窗口,或者窗口中任何一个部件. 焦点获取方式比较多,例如:鼠标点击.Tab键切换.快捷键.鼠标滚轮等. 习 ...

  4. HDU 2122 HDU Today【Floyd】

    题意:给出n条路,起点和终点,问最短距离 用map处理一下地名,再用floyd 可是不懂的是:为什么INF定义成0x7fffffff就输出一堆奇怪的东西,改成100000000就可以了 #includ ...

  5. Linux mv 命令的10个实用例子

    当你想要将文件从一个位置移动到另一个地方并且不想复制它,那么mv 命令是完成这个任务的首选.本文中总结了十个Linux mv 命令的实例,希望能给大家带来一些帮助. 初识 mv 命令 mv 命令是一个 ...

  6. 基于HtmlUnit的模板的网页数据抽取

    既然方向定了,就开始做实验室吧,做舆情分析,首先就是要收集相关的语料 正好实验室有同学在做标化院的信息抽取抽取这块 于是把程序拿过来研究研究正好 完整程序在126邮箱共享: 可下载数:20  共享连接 ...

  7. BZOJ 1787 紧急集合

    LCA.注意细节. #include<iostream> #include<cstdio> #include<cstring> #include<algori ...

  8. zoj 3690 Choosing number

    题意    就是说给你 N 个人站成一排,现在每个人都可以选择 1-M 中间的任意一个数字,相邻的两个人数字相同,则他必须是是 >  K 的  问方案总数: 方法    先求出递推式,然后用矩阵 ...

  9. RequireJS入门(一) 转

    RequireJS由James Burke创建,他也是AMD规范的创始人. RequireJS会让你以不同于往常的方式去写JavaScript.你将不再使用script标签在HTML中引入JS文件,以 ...

  10. html中的特殊符号

    html中的特殊符号 符号 说明 编码   符号 说明 编码   符号 说明 编码 " 双引号 " × 乘号 × ← 向左箭头 ← & AND符号 & ÷ 除号 ÷ ...