开源加密解密库比较

第一个: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



  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
k中有很多加密解密可以使用。其中一些常用的包括: 1. Java Cryptography Extension (JCE):Java的标准加密解密,可以在Kotlin中使用。 2. Bouncy Castle: 一个开源加密,支持多种加密算法和协议。 3. Kotlin Crypto: 一个基于Kotlin语言的轻量级加密,提供了对常见加密算法的支持。 4. Tink: 由Google开发的一个现代化的加密,支持各种加密操作和安全功能。 以下是使用Kotlin Crypto进行加密解密的示例代码: ```kotlin import org.bouncycastle.jce.provider.BouncyCastleProvider import org.bouncycastle.util.encoders.Base64 import javax.crypto.Cipher import javax.crypto.spec.SecretKeySpec fun encrypt(input: String, password: String): String { val cipher = Cipher.getInstance("AES/ECB/PKCS5Padding", BouncyCastleProvider()) val keySpec = SecretKeySpec(password.toByteArray(), "AES") cipher.init(Cipher.ENCRYPT_MODE, keySpec) val encryptedBytes = cipher.doFinal(input.toByteArray()) return Base64.toBase64String(encryptedBytes) } fun decrypt(input: String, password: String): String { val cipher = Cipher.getInstance("AES/ECB/PKCS5Padding", BouncyCastleProvider()) val keySpec = SecretKeySpec(password.toByteArray(), "AES") cipher.init(Cipher.DECRYPT_MODE, keySpec) val decryptedBytes = cipher.doFinal(Base64.decode(input)) return String(decryptedBytes) } fun main(args: Array<String>) { val input = "欢迎来到Errol_King的博客" val password = "12345678" val encrypt = encrypt(input, password) println(encrypt) val decrypt = decrypt(encrypt, password) println(decrypt) } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

langeldep

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值