我正在编写点对点应用程序,我想实现简单的对称加密。
我正在寻找一个如何做到这一点的好例子,我不介意它使用哪个库,只要它是免费的。
最好所有加密都发生在套接字层,所以我根本不需要更改我的代码。
有人可以提供这样的例子吗?
答案 0 :(得分:3)
Java已经附带SSL Sockets。无需手动实施加密。套接字可以自行处理所有内容。
答案 1 :(得分:1)
Java是否具有密码学内置... Java密码体系结构(JCA)& Java密码术扩展(JCE)?
http://docs.oracle.com/javase/1.4.2/docs/guide/security/CryptoSpec.html#ProviderArch
Java Cryptography Extension(JCE)扩展了JCA API以包含 用于加密,密钥交换和消息验证代码的API (苹果电脑)。一起,JCE和SDK的加密方面 提供完整的,独立于平台的加密API。
以下是如何在Java中使用AES的示例:
http://java.sun.com/developer/technicalArticles/Security/AES/AES_v1.html
JCE框架是一个非常强大且灵活的使用框架 不同的加密算法。它基于提供商 使相同框架可用于更新的架构 加密算法。从开发人员的角度来看,这意味着一个 更高级别的抽象,以及一组用于更新和更高级别的API 不同的加密算法 - 无需担心 算法的内部运作。
其他一些Java安全API - 例如JSSE - 是 在JCE之上实现,并补充它以使其不同 加密算法(密码,消息认证码 (MACs)和密钥交换算法)可用于更多 开发人员友好的方式。
另外,如Kristian Antonsen mentioned所示,请查看SSLSocket。
无论如何,这是另一个Java加密库: