1

我正在编写一个点对点应用程序,我想实现简单的对称加密。

我正在寻找如何做到这一点的一个很好的例子,只要它是免费的,我不介意它使用哪个库。

最好所有加密都发生在套接字层,所以我根本不需要更改我的代码。

有人可以提供这样的例子吗?

4

2 回答 2

3

Java 已经带有SSL 套接字。无需手动实施加密。套接字自己处理一切。

于 2012-04-09T16:58:56.410 回答
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 以包括用于加密、密钥交换和消息验证代码 (MAC) 的 API。JCE 和 SDK 的加密方面一起提供了一个完整的、独立于平台的加密 API。

这是一个如何在 Java 中使用 AES 的示例:

http://java.sun.com/developer/technicalArticles/Security/AES/AES_v1.html

JCE 框架是一个非常强大且灵活的框架,用于使用不同的加密算法。它基于提供程序架构,使相同的框架能够用于更新的加密算法。从开发人员的角度来看,这意味着更高级别的抽象,以及用于更新和不同加密算法的通用 API 集——无需担心算法的内部工作原理。

其他一些 Java 安全 API(例如 JSSE)是在 JCE 之上实现的,并对其进行补充以使不同的加密算法(密码、消息验证码 (MAC) 和密钥交换算法)可用于更多开发人员友好的方式。

此外,正如Kristian Antonsen 提到的,请查看SSLSocket


无论如何,这是另一个 Java 密码库:

http://bouncycastle.org/java.html

于 2012-04-09T16:46:46.387 回答