2012-04-09 32 views
1

我寫一個對等應用程序,我想實現簡單的對稱加密簡單的對稱加密。實現用java插座

我在尋找如何做一個很好的例子,我不介意它使用了庫,只要它是免費的。

優選地,所有的加密將在套接字層發生,所以我不需要做任何改動我的代碼。

有人可以提供這樣的例子嗎?

回答

3

的Java已經自帶了SSL Sockets。沒有必要手動實現加密。套接字自己處理所有事情。

+1

要了解如何在Java中使用SSL編寫代碼,請查看此頁面:http://igorpolevoy.com/public/Wiki.jsp?page=JavaSecurity – ipolevoy 2012-04-09 17:08:09

+0

當我想到SSL時,我正在考慮需要證書,是否可以使用僅使用預共享密鑰的SSL套接字並且不需要證書? – Michael 2017-01-04 01:49:04

1

不具備的Java加密構建... Java加密體系結構(JCA)& Java加密擴展(JCE)?

http://docs.oracle.com/javase/1.4.2/docs/guide/security/CryptoSpec.html#ProviderArch

Java加密擴展(JCE)擴展了JCA API包括 API來加密,密鑰交換和消息認證碼 (MAC)。 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加密庫:

http://bouncycastle.org/java.html