当前位置:首页 » 操作系统 » 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));

热点内容
2021款魏派vv6买哪个配置 发布:2024-05-19 14:31:11 浏览:632
前端如何打开第二个服务器地址 发布:2024-05-19 14:30:55 浏览:569
新建文件夹2百度盘 发布:2024-05-19 14:24:07 浏览:607
waslinux安装部署 发布:2024-05-19 14:23:11 浏览:786
安卓系统怎么注册不了ins 发布:2024-05-19 14:01:00 浏览:961
买服务器后怎么搭建功能 发布:2024-05-19 14:00:03 浏览:208
windows文件夹图标下载 发布:2024-05-19 13:25:44 浏览:690
数据库存储数据类型 发布:2024-05-19 13:25:28 浏览:585
电脑开机密码忘记了如何解锁没有管理员窗口 发布:2024-05-19 13:24:50 浏览:278
畅捷支付刷脸机如何设置密码 发布:2024-05-19 13:03:10 浏览:765