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

Base64位解密算法

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


/***
 * Base64位解密算法
 * @author Administrator xlaohe1
 *
 */
public class Base64Decrypt {

	/**
	 * 64位字符
	 */
	private final static String Base64Ret = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

	/**
	 * 放入加密的字符转换为二进制
	 * @author Administrator xlaohe1
	 * 
	 * @param str 加密后的字符
	 * @return 加密后的字符的ascii码的二进制
	 */
	private static String getAsciiByPWD(String str) {
		str = str.replaceAll("=", "");
		String ss = "";
		for (int i = 0; i < str.length(); i++) {
			String s = Integer.toBinaryString(
					Base64Ret.indexOf(str.substring(i, i + 1))); // 转换为二进制
			int slen = s.length();
			if (slen < 6)
				for (int l = 0; l < 6 - slen; l++)
					s = "0" + s; // 不足6位+0
			ss += s;
		}
		return ss.substring(0, ss.length() - ss.length() % 8); // 因为base64是8字节,不足加的0,所以多出来的舍弃
	}

	/**
	 * 二进制转换为ascii码
	 * @author Administrator xlaohe1
	 * 
	 * @param str getAsciiByPWD后的二进制
	 */
	private static void TwoToASCII(String str) {
		// String str = "011011010110010101101101";
		System.out.print((char) Integer.parseInt(Integer.valueOf(
				str.substring(0, 8), 2).toString())); // 这里输出的就是解密后的字符串
		str = str.substring(8);
		if (str.length() != 0)
			TwoToASCII(str);
	}

	public static void main(String args[]) throws Exception {
               try{
		String str = "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=";
		String slst = getAsciiByPWD(str);// bWVt==
		System.out.println(slst);
		TwoToASCII(slst);
		System.out.println();
}catch(Exception e) {
  System.out.println("输入错误");
}
		//输出结果为: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.
	}

	
}

分享到:
评论

相关推荐

    Base64_RC4加密算法

    Base64_RC4加密算法是计算机安全领域中常见的两种加密技术的结合。RC4是一种流密码(stream cipher)算法,而Base64则是一种数据编码方法。这两种技术在不同的场景下有着各自的用途。 首先,我们来详细了解一下RC4...

    Base64加密算法的C实现

    Base64是一种网络上常用的编码方式,主要用于将二进制数据转换为可打印的ASCII...总之,Base64加密算法的C语言实现涉及对二进制数据的处理、位运算以及字符串编码,理解这些基础知识对于实现和理解Base64编码至关重要。

    Base64加密算法C语言代码实现

    Base64编码的核心原理是将二进制数据进行分组,每24Bit(3字节)为一个大组,再把一个大组的数据分成4个6Bit的小分组。由于6Bit数据只能表示64个不同的字符(2^6=64),所以这也是Base64的名字由来。

    c++实现base64算法加密解密

    c++实现base64算法加密解密,不需要修改,直接运行即可

    Base64 加密算法

    算法类base64 的操作 字符串的加密技术,算法类base64 的操作 字符串的加密技术 as 版本

    Base64加密算法java版

    Base64加密算法java版

    Base64加密算法

    ### Base64加密算法 #### 一、简介 Base64是一种常见的编码方式,主要用于将二进制数据转换为文本格式的数据,以便于在网络中传输。Base64编码使用了64个可打印的ASCII字符(包括大写字母A-Z、小写字母a-z、数字0-...

    C# BASE64加密算法

    **C# BASE64加密算法** 在编程领域,特别是在网络安全和数据传输中,加密是一种基本的安全措施。BASE64是一种编码方式,它将任意二进制数据转化为ASCII字符集中的可打印字符,常用于在网络上传输包含二进制的数据,...

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

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

    delphi Base64加密算法

    下面我们将详细探讨Delphi中的Base64加密算法以及如何在Delphi程序中实现它。 首先,Base64的基本原理是将每3个8位字节的数据(24位)转换为4个6位的数字,然后将这4个数字用64个可能的字符(包括大小写字母、数字...

    Java实现的Base64加密算法示例

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

    Base64批量加密工具

    9. **安全性**:虽然Base64编码并不提供安全性,只是一个可逆的转换,但如果配合其他加密算法,如AES,可以提高数据的安全性。 10. **源代码版本控制**:为了便于协作和版本管理,项目可能使用Git等版本控制系统,...

    基于MD5与Base64的混合加密算法.pdf

    摘要:本文介绍了一种基于MD5与Base64的混合加密算法,该算法将明文MD5加密得到32位16进制密文,然后将密文拆分成16个2位16进制数组,并转换成对应的二进制数,最后将16个二进制数组连接成一个128位的二进制数,采用...

    Base64加密算法(工具类)

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

    Delphi AES DES MD5 RSA BASE64等加密算法源码实例集.rar

    Delphi加密算法集,包括了Delphi AES DES MD5 RSA BASE64 2DES 3DES Blowfish CRC32-Static SHA等 常用的加密算法用法实例,比较不错的Delphi加密实例代码了,浅显易懂而且实用的常见加密算法实例,包括字符串和文件...

    Base64加密算法.docx

    Base64加密算法的工作原理是将输入的二进制数据分割成组,每组三个字节,然后将每组字节转换为四个ASCII字符。这个过程可以使用以下公式来描述: `encode(x, y, z) = (x ) + (y ) + z` 其中,x、y、z是三个字节的...

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

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

    C# base64加密,秘钥加密

    在C#编程环境中,我们可以利用各种加密算法来保护敏感信息。本文将深入探讨C#中的Base64编码和密钥加密技术,以及如何结合这两种方法增强数据安全性。 Base64是一种简单的编码方式,常用于将二进制数据转换为ASCII...

    base64的加密算法

    ### Base64加密算法详解 #### 一、Base64编码概述 Base64是一种将二进制数据转换为文本字符串的标准方法。它通常用于在电子邮件等文本环境中传输二进制数据,或作为URL和文件名中的数据表示形式。Base64编码的主要...

Global site tag (gtag.js) - Google Analytics