`
xlaohe1
  • 浏览: 128585 次
  • 性别: Icon_minigender_1
  • 来自: 来处
社区版块
存档分类
最新评论

Base64位java加密算法

    博客分类:
  • java
阅读更多
package mains;

import java.util.ArrayList;
import java.util.List;

import com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream;
import com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64EncoderStream;

import sun.misc.BASE64Encoder;

/***
 * Base64位加密算法.
 * @author Administrator xlaohe1
 *
 */
public class Base64Test {
	/*
	  	Base64 使用US-ASCII子集的64个字符,即大小写的26个英文字母,0-9,+,/。
		编码总是基于3个字符,每个字符用8位二进制表示,因此一共24位,再分为4四组,每组6位,表示一个Base64的值。
		Base64值为0就是A,为27的就是b。这样,每3个字符产生4位的Base64字符。如果被加密的字符串每3个一组,还剩1或2个字符,
		使用特殊字符"="补齐Base64的4字。
		
	 */
		
	private final static char[] BASE64ARR = {  
        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I','J', 'K', 'L', 'M', 'N', 'O', 'P',  
        'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',  
        'g', 'h', 'i','j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',  
        'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'  
    };  

	
	public static void main(String[] args) {
		String src = "Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure."; 
		StringBuffer sb = new StringBuffer();
		byte[] buf = src.getBytes();
		for(byte b : buf) {
			sb.append(to8len(Integer.toBinaryString(b&0xff), 8));
		}
		String bin = toNstr(sb.toString(), 6, "0");
		StringBuffer newBuf = new StringBuffer(bin.length() / 6);
		for(int i = 0, len = bin.length(); i < len; i += 6) {
			newBuf.append(BASE64ARR[Integer.parseInt(bin.substring(i, i + 6), 2)]);
		}
		//System.out.println(toNstr(newBuf.toString(), 3, "="));
		System.out.println(newBuf.toString());
	}
	private static String to8len(String src, int n) {
		if(null == src || "".equals(src)) return "";
		if(src.length() >= n) return src;
		return to8len("0" + src, n);
	}
	private static String toNstr(String src, int mod, String c) {
		if(src.length() % mod == 0) return src;
		StringBuffer sb = new StringBuffer();
		sb.append(src);
		int i = 0, len = mod - src.length() % mod;
		while(i ++ < len) {
			sb.append(c);
		}
		return sb.toString();
	}

}
分享到:
评论

相关推荐

    Base64加密算法java版

    Base64加密算法java版

    java加密算法:Base64加密\数字签名\对称加密算法\非对称加密算法\消息摘要算法

    java关于加密的算法demo代码(Base64加密\数字签名\对称加密算法\非对称加密算法\消息摘要算法) JAVA安全实现三种方式: 1.JDK 2.Commons Codec 3.Bouncy Castle 一。非对称加密算法: 1.DH 2.RSA 3.ELGamal 二。...

    Java加密算法(源代码)

    Java加密算法是信息安全领域的重要组成部分,它涉及到数据的保护、隐私的维护以及网络通信的安全。在Java中,我们可以使用多种加密技术来实现数据的加密和解密,包括对称加密、非对称加密以及数字签名等。下面将详细...

    Java加密算法学习笔记的源码包

    Java加密算法是信息安全领域的重要组成部分,它在保护数据隐私、验证数据完整性和确认发送者身份等方面发挥着关键作用。这个名为"Java加密算法学习笔记的源码包"的压缩文件包含了关于Java中几种主要加密算法的实践...

    Java实现的Base64加密算法示例

    Java实现的Base64加密算法示例 Base64加密算法是指一种常用的数据加密算法,主要用于将二进制数据转换为文本格式,以便于在网络上传输。Java语言提供了多种实现Base64加密算法的方式,本文将详细介绍Java实现的Base...

    Base64加密算法源码(java版).pdf

    根据提供的文件信息,我们可以深入探讨Base64加密算法在Java中的实现原理以及具体的代码细节。 ### Base64加密算法概述 Base64是一种基于64个可打印字符来表示二进制数据的方法。它通常用于将二进制数据转换为文本...

    java实现base64加密

    其基本原理是将每3个字节的数据(24位)分为4组,每组6位,然后将这6位转换成对应的Base64字符,最后不足一组的字节,通过在末尾添加零进行填充。 在Java中,Base64的实现主要依赖于`java.util.Base64`类,这个类是...

    Base64.java加密解密类文件

    对于需要保密的数据,应使用真正的加密算法,如AES或RSA。 6. **Base64与文件**: 如果Base64.java文件涉及文件操作,那么它可能包含了读取文件内容,将其编码为Base64字符串,以及将Base64字符串解码回文件的功能。...

    java加密算法源码

    Java加密算法源码是开发人员在进行数据安全处理时常用的一种工具,涵盖了多种常见的加密算法,包括AES(高级加密标准)、DES(数据加密标准)、MD5(消息摘要算法5)、RSA(公钥加密技术)以及SHA(安全散列算法)。...

    Base64加密解密java/js

    参照网上Base64 js加密解密写的java实现,网上没看到出现过,可能大神都不屑写这种小东东,只好自己写了。弄了好几天,总算弄好了。...熟悉二进制的可自己更改算法,当然加密算法更改了解密算法同样得更改

    用Java实现BASE64加密解密

    总之,Java提供了方便的`java.util.Base64`工具类来处理Base64编码和解码,使得在Java项目中实现Base64加密解密变得简单且高效。这个基础的加密解密机制虽然简单,但在很多场景下已经足够满足基本的数据保护需求。

    java实现SHA1、SHA、MD5、AES加密、AES解密、BASE64解密、BASE64加密,以及BASE64 jar和源码

    Java作为广泛应用的编程语言,提供了丰富的库来支持各种加密算法。在这个压缩包中,包含的资源可以帮助我们理解并实现SHA1、SHA、MD5、AES加密与解密,以及BASE64编码和解码。下面我们将详细探讨这些加密算法和它们...

    base64转码解密成明文加密成Java密文

    在上述代码中,我们使用了AES加密算法,创建了一个`SecretKeySpec`对象来指定密钥,并使用`Cipher`类进行加密。加密后的二进制数据再通过Base64编码,生成一个可打印的字符串。 描述中提到有三个Java文件,可能分别...

    JAVA上加密算法的实现用例.rar_java 加密_加密_加密算法 java

    四、Java加密算法实现步骤 1. 导入相关类库:如`javax.crypto.Cipher`、`java.security.KeyPairGenerator`等。 2. 选择加密算法:如AES、RSA等。 3. 初始化Cipher对象:根据加密模式(ECB、CBC等)和填充模式...

    基于JAVA的加密算法(包括10种加密技术)

    Java加密技术(一) 关键字: java 加密基础, base64, md5, mac, sha, 单向加密 。。。。。。。。。。。。。。

    Java版SMS4和Base64加密算法

    本资源是集合了SMS4和自定义的Base64加密算法。SMS4加密算法中提供了如下接口: private static byte[] encode16(byte[] plain, byte[] key); private static byte[] decode16(byte[] cipher, byte[] key); private ...

    java base64 和RSA 加密解密

    Base64主要用于将二进制数据编码为可打印的ASCII字符,而RSA则是一种非对称加密算法,提供了更高的安全性。 Base64是一种简单的编码方式,它将任意的二进制数据转换成ASCII字符串,使得这些数据可以以文本形式在...

    Java实现的对称加密算法AES定义与用法详解

    四、Java实现的AES加密算法 下面是一个Java实现的AES加密算法的示例代码: ```java package com.imooc.security.aes; import java.security.Key; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; ...

    base64 jsp版本加密及调用

    然而,需要注意的是,Base64并不是一种安全的加密算法,因为它只是一种编码方式,易于解码。对于需要保护的数据,应当使用更强大的加密算法,如AES。 在提供的文件列表中,`down_xl.jsp`和`base64.jsp`可能是两个...

    Base64加密算法(工具类)

    java代码。支持加密与解密,Base64加密算法

Global site tag (gtag.js) - Google Analytics