国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JAVA加密算法(1)- 密碼學概述及BASE64算法使用

sevi_stuo / 2736人閱讀

密碼學綜述 密碼學基本功能

機密性、鑒別、報文完整性、不可否認性

基本模型

sender-->加密算法 --> 密文 --> 解密算法 --> receiver

密鑰源

密碼學算法分類:
消息編碼:Base64

消息摘要:MD類,SHA類,MAC

對稱加密:DES,3DES,AES

非對稱加密:RSA,DH密鑰交換

數字簽名:RSA signature,DSA signature
密碼學五元組

明文、密文、加密算法、解密算法、密鑰

加密解密算法都要使用公開算法(經過驗證)

Java編程中的常用類

(1)消息編碼

BASE64Encoder,BASE64Decoder

(2)消息摘要

MessageDigest

(3)對稱密碼

KeyGenerator、SecretKey、Cipher

(4)非對稱密碼

KeyPairGenerator、KeyFactory、KeyPair、PublicKey、PrivateKey、Cipher

(5)數字簽名

Signature
JDK提供的Base64編碼操作
import java.io.IOException;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class Base64Util {

  public static String encrypt(byte[] data) {
    return new BASE64Encoder().encode(data);
  }
  
  public static String decrypt(String data) throws IOException {
    return new String(new BASE64Decoder().decodeBuffer(data));
  }
  
  public static void main(String[] args) throws IOException {
    String data = "1234567890";
    
    String result = Base64Util.encrypt(data.getBytes());
    System.out.println(data +" 使用Base64編碼的結果: "+result);
    
    String result2 = Base64Util.decrypt(result);
    System.out.println(result + "使用Base64解碼的結果:" +result2);
    
  }
}

運行結果:

1234567890 使用Base64編碼的結果: MTIzNDU2Nzg5MA==
MTIzNDU2Nzg5MA==使用Base64解碼的結果:1234567890

PS1:
Eclipse中找不到sun.misc.BASE64Encoder包的解決方法:
在工程的build path中先移除JRE System Library,再添加庫JRE System Library,重新編譯后就一切正常了。

PS2:
其他提供Base64操作的jar包,
Apache Commons Codec(簡稱CC),
Bouncy Castle(BC)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65201.html

相關文章

  • 慕課網_《Java實現Base64加密》學習總結

    摘要:時間年月日星期一說明本文部分內容均來自慕課網。多用于網絡加密。散列函數函數或消息摘要函數主要作用散列函數用來驗證數據的完整性。 時間:2017年4月10日星期一說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學示例源碼:https://github.com/zccodere/s...個人學習源碼:https://github.com/zccodere...

    verano 評論0 收藏0
  • 慕課網_《Java實現非對稱加密》學習總結

    摘要:時間年月日星期三說明本文部分內容均來自慕課網。秘密密鑰,生成一個分組的秘密密鑰。 時間:2017年4月12日星期三說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學示例源碼:https://github.com/zccodere/s...個人學習源碼:https://github.com/zccodere/s... 第一章:概述 1-1 概述 非對稱...

    dailybird 評論0 收藏0
  • Android 應用安全開發之淺談加密算法的坑

    摘要:還有很多開發者沒有意識到的加密算法的問題。不要使用哈希函數做為對稱加密算法的簽名。開發者建議使用基于口令的加密算法時,生成密鑰時要加鹽,鹽的取值最好來自,并指定迭代次數。不要使用沒有消息認證的加密算法加密消息,無法防重放。 本文作者:阿里移動安全@伊樵,@舟海 Android開發中,難免會遇到需要加解密一些數據內容存到本地文件、或者通過網絡傳輸到其他服務器和設備的問題,但并不是使用了加...

    不知名網友 評論0 收藏0
  • killBase系列 -- 碼學(一)

    摘要:系列密碼學二傳送門密碼學一基礎密碼學算法分類消息編碼消息摘要類,類,對稱密碼非對稱密碼數字簽名五元組明文原始信息。非對稱密碼包提供給,,等非對稱加密算法。對稱加密算法在分布式網絡系統上使用較為困難,主要是因為密鑰管理困難,使用成本較高。 前言 最近一場面試,面試官問了我 對稱加密與非對稱加密的問題,雖然曾經看過一些內容,但是沒有系統的整理,所以當被問的時候,腦子里一片空白,沒有回答上...

    tomato 評論0 收藏0

發表評論

0條評論

sevi_stuo

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<