`
zhanghan
  • 浏览: 191441 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

自己写的加密解密类

    博客分类:
  • Java
SUN 
阅读更多
没啥技术含量,就是使用java里面的异或,其他语言也有这种运算。所以吗,转换成as3的或其它的都是可以的。
import java.io.IOException;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class Test {

	/**
	 * 加密
	 * 
	 * @param src
	 * @return
	 */
	public String encode(String src, String key) {
		if (src == null || src.equals(""))
			return "";
		byte[] b = src.getBytes(), k = key.getBytes();
		int len = b.length, klen = k.length;
		for (int i = 0; i < len; i++) {
			int index = i % klen;
			b[i] = (byte) (b[i] ^ k[index]);
		}

		return new BASE64Encoder().encode(b);
	}

	/**
	 * 解密
	 * 
	 * @param src
	 * @return
	 */
	public String decode(String src, String key) {
		if (src == null || src.equals(""))
			return "";
		String ret;
		try {
			ret = new String(new BASE64Decoder().decodeBuffer(src));
			byte[] b = ret.getBytes(), k = key.getBytes();
			int len = b.length, klen = k.length;
			for (int i = 0; i < len; i++) {
				int index = i % klen;
				b[i] = (byte) (b[i] ^ k[index]);
			}
			return new String(b);
		} catch (IOException e) {
			return "";
		}

	}

	/**
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		// 加解密的钥匙,这个一定要保管好
		String key = "1234567";
		Test t = new Test();
		String tmp = "这样也行吗";
		String tmp2 = t.encode(tmp, key);
		System.out.println("加密后:"+tmp2);
		System.out.println("解密后:"+t.decode(tmp2, key));

	}

}
分享到:
评论
1 楼 pch272215690 2010-06-19  
String tmp = "这样也行吗"; 
        String tmp2 = t.encode(tmp, key); 
        System.out.println("加密后:"+tmp2); 
        System.out.println("解密后:"+t.decode(tmp2, key)); 
这样不行,乱码了哦。。。。

相关推荐

    C# .net MD5加密解密工具及加密解密类

    C# .net MD5加密解密工具及加密解密类。使用方便,可直接下载加密解密代码在项目中使用。

    c#加密解密c#加密解密c#加密解密c#加密解密c#加密解密c#加密解密

    本文将深入探讨C#中的加密解密技术,包括基本概念、常用的加密算法以及如何在C#中实现它们。 一、加密解密基础 1. 加密:加密是一种将明文(可读数据)转化为密文(不可读数据)的过程,目的是保护信息不被未经授权...

    C#加密解密DeEncryptHelper.zip

    MD5 单向加密 SHA1 单向加密 DES 双向,可解密 加密字符串 ...RSA加密解密及RSA签名和验证 RSA 的密钥产生 产生私钥 和公钥 RSA 方式加密 RSA的解密函数 获取Hash描述表 RSA签名 RSA 签名验证

    加密解密类(C#)

    用于加密解密的操作类。

    PHP 加密解密处理类

    这里我们将讨论一些常见的加密库和函数,以及如何在实际项目中创建自定义加密解密类。 1. **基础加密函数**: - **md5()**:提供128位散列值,但不适用于加密,只适合做数据校验。 - **sha1()**:与md5类似,提供...

    Qt实现AES加密解密

    这个程序应当包含了上述知识点的具体应用,你可以通过阅读源代码、编译和运行来进一步理解和学习AES加密解密的实现细节。这个实战例程可以帮助开发者更好地掌握Qt环境下的加密解密操作,提高数据安全保护能力。

    Java Base64加密解密方法工具类

    Java Base64加密解密方法工具类

    android工具类:基于javaBase64的加密解密工具类

    本文将详细介绍一个基于Java Base64的Android加密解密工具类,该工具类支持公钥加密和私钥解密,具有高度的解耦性,方便集成到项目中。 一、Base64加密解密基础 Base64是一种编码方式,它将任意二进制数据转换为可...

    URL参数加密解密,URL参数加密解密

    URL参数加密解密;使用简便;URL参数加密解密;使用简便;URL参数加密解密;使用简便;URL参数加密解密;使用简便;

    php实现的加密解密处理类.zip

    这个压缩包提供的“加密解密处理类”可能是为了简化这个过程,提供了一种封装好的解决方案。它可能包含以下功能: 1. 支持多种加密算法:类库可能会提供对多种加密算法的支持,允许开发者根据需求选择合适的算法。 ...

    Java实现的RSA加密解密算法示例

    Java实现的RSA加密解密算法示例 本文主要介绍了Java实现的RSA加密解密算法,结合实例形式分析了Java RSA加密解密算法的相关实现技巧。 知识点1:RSA加密解密算法简介 RSA加密解密算法是一种非对称加密算法,由Ron...

    易飞用户加密解密

    《易飞用户加密解密详解》 在信息技术领域,数据安全是至关重要的议题,而用户加密解密技术正是保障信息安全的重要手段。本文将围绕“易飞用户加密解密”这一主题,深入探讨其原理、应用及操作流程,帮助读者更好地...

    C# RSA加密解密

    **C# RSA加密解密详解** 在信息安全领域,加密技术是一种至关重要的手段,用于保护数据的隐私和安全性。RSA(Rivest-Shamir-Adleman)算法是一种非对称加密算法,广泛应用于网络通信、数据存储等领域。C#作为.NET...

    功能强大的php加密解密类

    自定义加密解密类通常是为了提供更方便的接口,或者实现特定的加密需求。此类可能包含各种加密方法,如使用预设密钥进行AES加密,或者实现自定义的加密算法。在给定的描述中,类的构造函数接收密钥,这意味着它可能...

    VB AES加密解密类

    ### VB AES加密解密类详解 #### 概述 标题为“VB AES加密解密类”的模块,旨在提供一种在Visual Basic(VB)环境中实现高级加密标准(AES)加密和解密功能的方法。AES是一种对称加密算法,广泛应用于数据保护、...

    c#加密解密加密解密加密解密加密解密加密解密

    c#加密解密加密解密加密解密加密解密加密解密c#加密解密加密解密加密解密加密解密加密解密

    c# 常用加密,解密类

    例如,`ZYBEncrypt.csproj`和`ZYBEncrypt.sln`是项目文件,可能包含了整个加密解密库的构建和解决方案信息。开发者可以通过这些源代码学习和理解如何在C#中实际应用这些加密算法,或者直接在自己的项目中复用这些...

    SpringBoot接口加密解密统一处理

    接下来,我们需要一个类来判断是否需要执行加密解密操作。这里我们创建一个名为`NeedCrypto`的工具类: ```java class NeedCrypto { private NeedCrypto() {} static boolean needEncrypt(MethodParameter ...

    加密解密文件 加密 解密

    文件的加密解密,一些流的操作,流的加密....DES;文件的加密解密,一些流的操作,流的加密....DES

    Base64加密解密工具类

    java开发使用base64进行加密解密,开发人员只需调用其中方法即可完成加密解密操作!

Global site tag (gtag.js) - Google Analytics