开源加密解密库比较

第一个:OpenSSL
 
C语言实现,整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。   作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。代码量比较庞大,使用起来不是很方便。支持跨平台。
 
 
第二个:crypto++
 
C++语言实现,代码庞大且复杂, 使用起来不方便。支持跨平台。
 
第三个:CyaSSL
C语言实现,该软件包是一个快速的、具有双协议实现的SSL ,主要适用嵌入式的设备。它包含一个SSL 的客户端和服务器端的时间,支持兼容OpenSSL 的多个API 方法,支持TLS 1.1 以及AES, 3DES, RC4, HC-128, and RABBIT 等加密方法。
 
 
第四个:jsCrypto和Crypto-JS和pidCrypt
 
java script实现的加密解密库。jsCrypto 是一个实现了一些常用加密方法的JavaScript 库,支持的算法包括:AES, SHA-1, HMAC, BASE64, RSA, ECC and IBE,这个库也可以在ActionScript 下使用。Crypto-JS 为JavaScript 提供了各种各样的加密算法,目前已支持的算法包括:MD5,SHA-1,SHA-256,AES,Rabbit,MARC4,HMAC 。
pidCrypt 是JavaScript 的一个模块化的加密库,支持: AES (CBC & CTR Mode), RSA, MD5, SHA-1, SHA-256, SHA-384, SHA-512, ASN.1, Base64, UTF-8. The AES-CBC mode is compatible to OpenSSL.
 
 
 
第五个:xyssl
 
C语言实现,使用方便简单。实现了常用的大部分加密解密算法。下载地址为 :http://xyssl.sourcearchive.com/downloads/0.9/xyssl_0.9.orig.tar.gz

摘自 张老师的专栏

引用:http://www.2cto.com/article/201201/115721.html

时间: 2024-12-14 18:47:23

开源加密解密库比较的相关文章

thinkphp 导入微信小程序加密解密库

第三方类库 第三方类库指除了 ThinkPHP 框架.应用项目类库之外的其他类库,一般由第三方系统或产品提供,如 Smarty.Zend 等系统的类库等. 前面使用自动加载或 import 方法导入的类库,ThinkPHP 约定是以 .class.php 为后缀的,非这类的后缀,需要通过 import 的参数来控制. 但对第三类库,由于不会有此约定,其后缀只能认为是 php .为了方便的引入其他框架和系统的类库,ThinkPHP 特意提供了导入第三方类库的功能.第三方类库统一放置在 ThinkP

非对称技术栈实现AES加密解密

非对称技术栈实现AES加密解密 正如前面的一篇文章所述,https协议的SSL层是实现在传输层之上,应用层之下,也就是说在应用层上看到的请求还是明码的,对于某些场景下要求这些http请求参数是非可读的,这就要求在前端和后端不同的技术栈上完成信息的加密解密.当然我们通常完成这样专业的功能都会考虑使用相应的框架或者程序库来完成功能,前端或者NodeJS平台通常是JavaScript语言,JavaScript主流的加密解密库分别是SjclJS和CryptoJS, 本文以CryptoJS为例进行讨论.另

unity3d与flash交互、aes加密解密

众所周知,unity在2013年就放弃flash了,但是有时候,真的会需要到flash,比如web端需要unity web player插件,很多浏览器都拦截了,flash倒不会,因为他是微软的. u3d在打包flash的时候api是不可以修改的,默认就是flash的api,打包出来就是as(ActionScript代码)编译.所以很多net2.0的api都不能使用,比如System.Security.Cryptography这个库,注:这个库是C#集成好的加密解密 u3d导出flash会报错,

【C/C++学院】0801-重定向以及文件扫描/二进制加密解密/简单加密/按照密码加密/动态库与静态库

重定向以及文件扫描 #define _CRT_SECURE_NO_WARNINGS//关闭安全检查 #include<stdio.h> #include<stdlib.h> void main1() { char str[100] = { 0 }; scanf("%s", str); printf("str=%s\n", str); system(str); } void main2() { char str[100] = { 0 }; fs

基于密钥库和数字证书的加密解密和签名验证操作

package com.szzs; import java.io.FileInputStream; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Signature; import java.security.cert.Certif

加密解密技术介绍和OpenSSL介绍

网络上实现安全传输是一件非常必要的事情,此篇博文主要介绍一下四种常见的加密解密技术和PKI机制以及如何通过openssl建立私有CA. 一.加密解密技术 (1)对称加密 主要加密算法: 1.DES:Data Encryption Standard 数据加密标准 加密端:将明文划分为64bits为一块,用密钥加密产生64bits的密文 解密端:还原回64bits密文 加密和解密均使用56bits的密钥 2.3DES:Triple DES:也就是进行三次DES加密 3.AES:Advanced En

辰道说加密解密

什么是加密? 加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密). 加密技术包括两个元素:算法和密钥.算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解密的一种算法.在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通信安全,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容. 为什么要加密? 随着人类社会逐渐步入信

加密解密基础及私有CA的实现-2015092801

1. 加密解密简述 2.加密算法 3.加密解密步骤 4.使用openssl自建私有CA 加密解密基础: 由于互联网的数据传输基本上都是明文的(如ftp.http.telnet等),而往往有些数据在互联网传输对于传输方来讲,确实涉及隐私或是一些敏感的内容不想让互联网上其他人看到,因此,引入了加密的机制. 最早起的加密,采用移位的方式对数据进行加密,如数据数"abcd",其对应的在互联网上传输的内容是"efgh".后来的加密方式是采用"密码对照本",

linux CA 加密解密技术

一.基础知识 对称加密: 加密和解密方使用同一个密钥,用来解决数据机密性,但是密钥通过何种方式传递给对方不容易实现: 公钥加密: 密钥是成对出现的,分别为Secret key(密钥)和Public key(公钥)公钥加密必须使用与其相对应的 私钥进行解密并且公钥是从私钥中提取出来的,有私钥可以知道公钥是什么,但是知道公钥是不能知 道私钥的,公钥是公开的,而私钥是不公开的,但是公钥加密比对称加密慢3个数量级(1000倍), 加密速度相当的慢,所以单独用此加密方式也比较困难:公钥加密功能: 单向加密