日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java项目的秘钥怎么保存_java生成秘钥key,并保存秘钥到文件中

發(fā)布時(shí)間:2023/12/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java项目的秘钥怎么保存_java生成秘钥key,并保存秘钥到文件中 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本例子采用的是Java的對(duì)稱加密其中的一種方式(3DES),其他的加密方式也類似。生成一個(gè)key秘鑰,發(fā)送方使用生成的key秘鑰進(jìn)行加密操作,然后把生成的key秘鑰保存到文件中,提供給需要解密的一方使用key秘鑰進(jìn)行解密操作。(期間一定要保存key秘鑰不被泄露)

package com.bobo.encryption.asymmetric;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.security.Key;

import java.security.SecureRandom;

import javax.crypto.Cipher;

import javax.crypto.KeyGenerator;

import javax.crypto.SecretKey;

import javax.crypto.SecretKeyFactory;

import javax.crypto.spec.DESedeKeySpec;

import com.sun.org.apache.xerces.internal.impl.dv.util.HexBin;

/**

* 把生成的密鑰key保存到文件 和 讀取文件中保存的密鑰key

* (發(fā)送方進(jìn)行加密,接收方進(jìn)行解密)

* @author win7

*

*/

public class SaveKeyTest {

//要加密的數(shù)據(jù)

public static String bobo="http://blog.csdn.net/bobo0915";

//加密后的密文數(shù)據(jù)

public static byte[] result; //需要傳輸給 接收方 接收方進(jìn)行解密

public static void main(String[] args) {

// TODO Auto-generated method stub

sendSecret();

receiveSecret();

}

/**

* 模擬發(fā)送方 生成秘鑰,并保存秘鑰

* (通過其他方式把秘鑰提供給接收方,郵件,網(wǎng)絡(luò),U盤...)

*/

public static void sendSecret(){

try {

//1.初始化key秘鑰

KeyGenerator keyGenerator = KeyGenerator.getInstance("DESede");

keyGenerator.init(new SecureRandom());

SecretKey secretKey= keyGenerator.generateKey();

//轉(zhuǎn)換key秘鑰

DESedeKeySpec deSedeKeySpec=new DESedeKeySpec(secretKey.getEncoded());

SecretKeyFactory secretKeyFactory=SecretKeyFactory.getInstance("DESede");

Key key= secretKeyFactory.generateSecret(deSedeKeySpec);

//2.對(duì)生成的密鑰key進(jìn)行編碼保存

String keyencode= HexBin.encode(key.getEncoded());

//寫入文件保存

File file=new File("F:\\keyencode.txt");

OutputStream outputStream=new FileOutputStream(file);

outputStream.write(keyencode.getBytes());

outputStream.close();

System.out.println(keyencode+" -----> key保存成功");

//3.進(jìn)行加密

Cipher cipher=Cipher.getInstance("DESede/ECB/PKCS5Padding");

cipher.init(Cipher.ENCRYPT_MODE, key);

result= cipher.doFinal(bobo.getBytes());

System.out.println("發(fā)送方進(jìn)行加密:"+HexBin.encode(result));

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

}

/**

* 模擬接收方 讀取文件中的秘鑰,進(jìn)行加解密

*/

public static void receiveSecret(){

try {

//1.讀取文件中的密鑰

File file = new File("F:\\keyencode.txt");

InputStream inputStream = new FileInputStream(file);//文件內(nèi)容的字節(jié)流

InputStreamReader inputStreamReader= new InputStreamReader(inputStream); //得到文件的字符流

BufferedReader bufferedReader=new BufferedReader(inputStreamReader); //放入讀取緩沖區(qū)

String readd="";

StringBuffer stringBuffer=new StringBuffer();

while ((readd=bufferedReader.readLine())!=null) {

stringBuffer.append(readd);

}

inputStream.close();

String keystr=stringBuffer.toString();

System.out.println(keystr+" -----> key讀取成功"); //讀取出來的key是編碼之后的 要進(jìn)行轉(zhuǎn)碼

//2.通過讀取到的key獲取到key秘鑰對(duì)象

byte[] keybyte= HexBin.decode(keystr);

DESedeKeySpec deSedeKeySpec=new DESedeKeySpec(keybyte);

SecretKeyFactory secretKeyFactory=SecretKeyFactory.getInstance("DESede");

Key key= secretKeyFactory.generateSecret(deSedeKeySpec); //獲取到key秘鑰

//3.進(jìn)行解密

Cipher cipher=Cipher.getInstance("DESede/ECB/PKCS5Padding");

cipher.init(Cipher.DECRYPT_MODE, key);

result= cipher.doFinal(result);

System.out.println("接收方進(jìn)行解密:"+new String(result));

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

}

}

總結(jié)

以上是生活随笔為你收集整理的java项目的秘钥怎么保存_java生成秘钥key,并保存秘钥到文件中的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产又粗又猛又爽又黄的网站 | 俺也去在线视频 | www.成人av.com | 一区二区视频观看 | 久久草精品 | 奴色虐av一区二区三区 | 大地资源二中文在线影视免费观看 | 国产又粗又黄又爽又硬的视频 | 91黄色短视频 | 黄色美女免费网站 | 精品视频一二三 | 樱花电影最新免费观看国语版 | 老熟妻内射精品一区 | 久久精品视频国产 | 中文字幕一区二区三区夫目前犯 | 午夜精品久久久久久久无码 | 骑骑上司妻电影 | 精品人妻一区二区三区四区五区 | 浮妇高潮喷白浆视频 | 久久精品视频网站 | 永久免费av网站 | 日韩欧美国产一区二区三区 | 亚洲欧洲久久久 | 欧美国产精品一区二区三区 | 亚洲七区 | 欧美视频在线观看视频 | 日韩理论视频 | a毛毛片 | 日本sm调教—视频|vk | 亚州福利 | 91国产网站 | 黄色一极视频 | 无码人妻精品一区二区 | 色站av | 激情av网站 | 色偷偷五月天 | 91九色精品 | 黄色av电影在线观看 | 99国产精品一区 | 爱情岛亚洲首页论坛 | 又色又爽又黄无遮挡的免费视频 | 亚洲一级免费毛片 | 日韩综合网站 | 欧美激情自拍偷拍 | 三级黄色片免费观看 | 黄色靠逼视频 | 久久影视中文字幕 | 荒野求生21天去码版网站 | 亚洲欧美日韩国产一区 | 香蕉视频网页 | 黄色免费看片 | 香蕉日日 | 又黄又刺激的视频 | 亚洲最大在线视频 | 午夜视频福利在线 | 又色又爽又高潮免费视频国产 | 欧美高清在线观看 | 69xxxx日本 | 亚洲成a人v欧美综合天堂麻豆 | 国产综合视频一区二区 | 韩国av免费观看 | 无码日本精品xxxxxxxxx | 天堂草在线观看 | 国产人澡人澡澡澡人碰视频 | 亚洲视频 欧美视频 | 国产女主播在线播放 | 伊人色影院 | 香蕉视频成人在线 | 91精品国产综合久久精品图片 | av在线免费观看网站 | 关秀媚三级 | 久久91 | 男女一级黄色 | 超碰h| 超级砰砰砰97免费观看最新一期 | 爱av在线| 日本裸体网站 | 日韩欧美在线一区二区三区 | 黄色国产大片 | 欧美爽妇 | 视频福利在线 | 黄色激情在线观看 | 国产农村妇女aaaaa视频 | 国产精品丝袜黑色高跟 | 91久久伊人 | 蜜桃精品视频 | 美女网站在线免费观看 | 免费黄色在线网站 | 特黄特黄视频 | 免费三级av | 成人av无码一区二区三区 | 91成品人影院 | 青娱乐在线免费视频 | 欧美特黄aaa | 99在线观看视频 | 理论片亚洲 | 免费看黄在线网站 | 99热网站 | 国产美女明星三级做爰 |