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. Qt Assistant介绍

    简介 Qt Assistant也就是我们常说的Qt助手,是一款用于呈现在线文档的工具. 简介 一分钟学会使用 Qt参考文档 Qt Assistant详解 命令行选项 工具窗口 文档窗口 工具栏 菜单 ...

  2. POJ (线段树) Who Gets the Most Candies?

    这道题综合性挺强的,又牵扯到数论,又有线段树. 线段树维护的信息就是区间中有多少个人没跳出去,然后计算出下一个人是剩下的人中第几个. 我在这调程序调了好久,就是那个模来模去的弄得我头晕. 不过题确实是 ...

  3. POJ 2828 (线段树 单点更新) Buy Tickets

    倒着插,倒着插,这道题是倒着插! 想一下如果 Posi 里面有若干个0,那么排在最前面的一定是最后一个0. 从后往前看,对于第i个数,就应该插在第Posi + 1个空位上,所以用线段树来维护区间空位的 ...

  4. 51nod1486 大大走格子

    容斥定理+dp...妈呀#1rp耗尽了难怪最近那么衰... #include<cstdio> #include<cstring> #include<cctype> ...

  5. 51nod1537 分解

    http://blog.csdn.net/qingshui23/article/details/52350523 详细题解%%%%对矩阵乘法的不熟悉.以及不会推公式 #include<cstdi ...

  6. 在 VC6 中使用 GdiPlus-使用

    下面用 VC6 来写一个 GdiPlus 的 Demo 工程 Step1:新建一个名为 Demo_GdiPlus 的 MFC AppWizard(exe) 工程 操作步骤:(1)主菜单File-> ...

  7. js,正则应用

    //获取URL中的request参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + ...

  8. 支持向量机之Hinge Loss 解释

    Hinge Loss 解释 SVM 求解使通过建立二次规划原始问题,引入拉格朗日乘子法,然后转换成对偶的形式去求解,这是一种理论非常充实的解法.这里换一种角度来思考,在机器学习领域,一般的做法是经验风 ...

  9. Android EventBus源码解析

    项目地址 :https://github.com/greenrobot/EventBus 这个项目个人感觉就是为了解决回调事件过多的,比方说A函数在做完以后 要调用b类的c函数,那我们通常的做法就是 ...

  10. JAVA中的成员变量与局部变量

    package com.imooc; //1.定义一个类 public class Telphone { //2.属性(成员变量)有什么 float screen; float cpu; float ...