當前位置:首頁 » 操作系統 » javabase64源碼

javabase64源碼

發布時間: 2023-01-22 05:08:47

A. Base64 編碼和解碼 java=》C#

io流部分好像有點區別
其他部分貌似不用改了

B. 求java加密源代碼(MD5,base64)

import java.security.*;
import javax.crypto.*;

/**
* 本例解釋如何利用DES私鑰加密演算法加解密
*
* @author Devon
* @version 1.0 04/03/10
*/
public class SingleKeyExample {

public static void main(String[] args) {
try {
String algorithm = "DES"; //定義加密演算法,可用 DES,DESede,Blowfish
String message = "Hello World. 這是待加密的信息";

// 生成個DES密鑰
KeyGenerator keyGenerator = KeyGenerator.getInstance(algorithm);
keyGenerator.init(56); //選擇DES演算法,密鑰長度必須為56位
Key key = keyGenerator.generateKey(); //生成密鑰

// 生成Cipher對象
Cipher cipher = Cipher.getInstance("DES");

//用密鑰加密明文(message),生成密文(cipherText)
cipher.init(Cipher.ENCRYPT_MODE, key); //操作模式為加密(Cipher.ENCRYPT_MODE),key為密鑰
byte[] cipherText = cipher.doFinal(message.getBytes()); //得到加密後的位元組數組
System.out.println("加密後的信息: " + new String(cipherText));

//用密鑰加密明文(plainText),生成密文(cipherByte)
cipher.init(Cipher.DECRYPT_MODE, key); //操作模式為解密,key為密鑰
byte[] sourceText = cipher.doFinal(cipherText); //獲得解密後位元組數組
System.out.println("解密後的信息: " + new String(sourceText));
} catch (Exception ex) {
ex.printStackTrace();
}
}

}

/**
* @author Devon
*/

import java.security.*;
import java.security.spec.*;
import javax.crypto.*;

public class PairKeyExample {

public static void main(String argv[]) {
try {
String algorithm = "RSA"; //定義加密演算法,可用 DES,DESede,Blowfish
String message = "張三,你好,我是李四";

//產生張三的密鑰對(keyPairZhang)
KeyPairGenerator keyGeneratorZhang =
KeyPairGenerator.getInstance(algorithm); //指定採用的演算法
keyGeneratorZhang.initialize(1024); //指定密鑰長度為1024位
KeyPair keyPairZhang = keyGeneratorZhang.generateKeyPair(); //產生密鑰對
System.out.println("生成張三的公鑰對");

// 張三生成公鑰(publicKeyZhang)並發送給李四,這里發送的是公鑰的數組位元組
byte[] publicKeyZhangEncode = keyPairZhang.getPublic().getEncoded();

//通過網路或磁碟等方式,把公鑰編碼傳送給李四
//李四接收到張三編碼後的公鑰,將其解碼
KeyFactory keyFacoryLi = KeyFactory.getInstance(algorithm); //得到KeyFactory對象
X509EncodedKeySpec x509KeySpec =
new X509EncodedKeySpec(publicKeyZhangEncode); //公鑰採用X.509編碼
PublicKey publicKeyZhang = keyFacoryLi.generatePublic(x509KeySpec); //將公鑰的KeySpec對象轉換為公鑰
System.out.println("李四成功解碼,得到張三的公鑰");

//李四用張三的公鑰加密信息,並發送給李四
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); //得到Cipher對象
cipher.init(Cipher.ENCRYPT_MODE, publicKeyZhang); //用張三的公鑰初始化Cipher對象
byte[] cipherMessage = cipher.doFinal(message.getBytes()); //得到加密信息
System.out.println("加密後信息:" + new String(cipherMessage));
System.out.println("加密完成,發送給李四...");

//張三用自己的私鑰解密從李四處收到的信息
cipher.init(Cipher.DECRYPT_MODE, keyPairZhang.getPrivate()); //張三用其私鑰初始化Cipher對象
byte[] originalMessage = cipher.doFinal(cipherMessage); //得到解密後信息
System.out.println("張三收到信息,解密後為:" + new String(originalMessage));
} catch (Exception ex) {
ex.printStackTrace();
}
}
}

C. 在Java中如何進行BASE64編碼和解碼

importsun.misc.BASE64Encoder;
importsun.misc.BASE64Decoder;

//將s進行BASE64編碼
publicstaticStringgetBASE64(Strings){
if(s==null)returnnull;
return(newsun.misc.BASE64Encoder()).encode(s.getBytes());
}

//將BASE64編碼的字元串s進行解碼
(Strings){
if(s==null)returnnull;
BASE64Decoderdecoder=newBASE64Decoder();
try{
byte[]b=decoder.decodeBuffer(s);
returnnewString(b);
}catch(Exceptione){
returnnull;
}
}

D. 從文件中讀取數據並編碼成base64 java

代碼如下:

importjava.io.FileInputStream;
importjava.io.IOException;
importjava.util.Arrays;
importjava.util.Base64;
importjava.util.Base64.Encoder;

publicclassApp{

publicstaticvoidmain(String[]args)throwsIOException{

Encoderencoder=Base64.getEncoder();

byte[]buffer=newbyte[1024];

intlen=0;

StringBuilderbuilder=newStringBuilder();

try(FileInputStreaminputStream=newFileInputStream("d:\temp\abc.txt")){

while((len=inputStream.read(buffer))!=-1){

byte[]src=Arrays.OfRange(buffer,0,len);

builder.append(encoder.encodeToString(src));
}

}

System.out.println(builder.toString());
}
}

E. 求URL-SAFE-BASE64加密解密的java代碼

base64 編碼後,有幾個是不能url safe。所以自己替換一下。收到後,再替換回來

F. Java Base64編碼 將十進制的數字進行Base64編碼怎麼做

jdk 1.6 有內置的演算法,,,,,,,,,,
apache有開源項目commons-codec中包括有演算法 ,,,,,,,,,
網路也能找到全JAVA源碼

G. Java Base64加碼解碼 Base64.encodeBase64 ( ) 和 new BASE64Enccoder( ).encode( )區別

Base64.encodeBase64 ( ) 可以處理換行符,
new BASE64Enccoder( ).encode( )需要單獨處理換行符。
linux/windows下,推薦使用第一種,不用自己單獨處理換行。

H. java中的BASE64編碼有已經實現好的開源項目么

多的很 。。。

org.apache.hadoop.hbase.util.Base64
com.sun.jersey.core.util.Base64
org.apache.commons.codec.binary.Base64
com.sun.jersey.core.util.Base64

I. JAVA BASE64編碼

BASE64編碼本來就是把二進制數據變為字元串,即將byte[]變為String.
你看的例子裡面把字元串編碼,也是先吧字元串編程byte[]再去編碼,因此你只要把文件中的數據都讀到一個byte[]中,然後調用哪個方法就可以了。

J. java base64解密亂碼問題 代碼如下:

private String getPictureString() {
String upload = "";
try {
FileInputStream in = new FileInputStream(fileName);
byte[] ba = new byte[in.available()];
in.read(ba);
in.close();
upload = new String(android.util.Base64.encode(ba,
android.util.Base64.DEFAULT));
} catch (FileNotFoundException e) {
LogUtil.e(e.getMessage(), e);
} catch (IOException e) {
LogUtil.e(e.getMessage(), e);
}
return upload;
}


這個是加密

解密就是

encode換成decode

upload=newString(android.util.Base64.decode(ba,

android.util.Base64.DEFAULT));

熱點內容
c語言數組的刪除 發布:2024-05-06 20:52:33 瀏覽:397
機械戰警用什麼配置好看 發布:2024-05-06 20:27:12 瀏覽:435
win10添加python環境變數 發布:2024-05-06 20:27:12 瀏覽:313
並聯臂演算法 發布:2024-05-06 20:02:11 瀏覽:623
cf跟dnf哪個需求配置高 發布:2024-05-06 20:01:23 瀏覽:657
什麼配置皮筋能打老鼠嗎 發布:2024-05-06 19:54:32 瀏覽:742
壓縮機油壓差報警 發布:2024-05-06 19:45:08 瀏覽:336
打游戲腳本好不好 發布:2024-05-06 19:44:00 瀏覽:235
七日殺如何轉移伺服器 發布:2024-05-06 19:43:04 瀏覽:429
唐plusdmi買哪個配置 發布:2024-05-06 19:36:48 瀏覽:148