`
fming09
  • 浏览: 61231 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java xor加密算法

    博客分类:
  • JAVA
阅读更多

package fming;

import java.io.ByteArrayOutputStream;
import java.io.IOException;

public class XOR {

	public static String encode(String str, String key) {
		String result = null;
		byte[] strBuf = str.getBytes();
		byte[] keyBuf = key.getBytes();
		int c = 0;
		int z = keyBuf.length;
		ByteArrayOutputStream baos = new ByteArrayOutputStream(strBuf.length);
		for (int i = 0; i < strBuf.length; i++) {
			byte bS = strBuf[i];
			byte bK = keyBuf[c];
			byte bO = (byte) (bS ^ bK);
			if (c < z - 1) {
				c++;
			} else {
				c = 0;
			}
			baos.write(bO);
		}
		try {
			baos.flush();
			result = baos.toString();
			baos.close();
			baos = null;
		} catch (IOException io) {
			io.getStackTrace();
		}
		return result;
	}

	public static void main(String[] args) {
		String result = XOR.encode("中俄的撒打算ffff发个我a", "fds");
		System.out.println(result);
		String s = XOR.encode(result, "fds");
		System.out.println(s);
	}

}
 
分享到:
评论

相关推荐

    java异或加密算法

    异或加密算法的核心是异或(XOR)运算,其特性是“相同为0,不同为1”,即任何数字与0进行异或运算结果不变,相同数字异或结果为0,不同数字异或结果为它们的原值相加的模2。 在上述代码示例中,提供了一个简单的...

    Java异或 加密 和 解密方法

    异或加密简单易懂,且效率较高,常用于临时的安全需求或者作为更复杂加密算法的基础。 异或(XOR)运算在计算机科学中是一种基本的逻辑运算,它的规则是:相同为0,不同为1。当两个二进制位进行异或操作时,如果它们...

    java实现可逆加密算法

    在提供的Java代码中,实现了一个基于异或(XOR)操作的可逆加密算法。异或操作是一种二进制运算,其规则是两个相同位的值相异或结果为0,两个不同位的值相异或结果为1。这种简单但有效的加密机制在需要快速加密和解密...

    基于Java的IDEA加密算法探讨

    在Java环境下实现基于IDEA(国际数据加密算法)的加密技术是提高数据安全性的有效方法。IDEA是一种迭代的分组密码算法,以其强大的安全性和高效性而闻名。该算法使用128位的密钥,通过8个循环对64位的数据块进行加密,...

    SDES加密算法JAVA

    在Java中实现SDES加密算法,我们需要理解以下几个核心概念和步骤: 1. **密钥生成**: SDES使用一个8位的密钥,这与DES的56位密钥相比显著简化。密钥通常由用户自定义或通过某种规则生成。在Java中,我们可以使用`...

    IDEA数据加密算法实现.rar

    IDEA(International Data Encryption Algorithm,国际数据加密算法)是一种对称密钥加密算法,由瑞士联邦理工学院的Lai Xuejia和Martin Hellman在1990年提出。它设计初衷是作为DES(Data Encryption Standard)的一...

    TEA加密算法简例

    TEA(Tiny Encryption Algorithm)是一种简单的块加密算法,由David Wheeler和Ross Anderson在1994年提出。它以其小巧、高效和易于实现的特点而受到关注。本例中,我们探讨的是如何用C++实现TEA加密和解密算法。 ...

    TEA介绍及数据加密算法之程序代码 .rar_ tea_TEA算法_tea加密_windows_加密算法

    在提供的压缩包中,"TEA介绍及数据加密算法之程序代码.doc"可能包含关于TEA算法的详细解释,包括其工作原理、伪代码和可能的C/C++或Java等编程语言的实现。文档可能还会讨论如何在Windows环境下集成和测试这些代码,...

    3DES加密算法C语言实现

    在C语言中实现3DES加密算法,可以确保在不同平台上的兼容性和一致性,尤其对于需要跨平台操作的应用场景,如将C语言代码移植到Android平台,通过JNI接口与Java代码交互,能够很好地解决加解密结果不一致的问题。...

    字符串加密算法详解.pdf

    ### 字符串加密算法详解 #### 一、引言 在信息安全领域,字符串加密是...Java AES加密算法作为一种广泛使用的对称加密算法,不仅适用于保护数据的机密性和完整性,而且其实现相对简单,易于集成到各种应用程序中。

    java文件加密解密实例(自定义、异或、AES、DES)

    XOR加密的实现相当直观,两个位进行异或操作,如果相同则结果为0,不同则结果为1。尽管XOR可以快速实现,但它的安全性相对较低,容易受到频谱分析和模式识别的攻击。因此,XOR通常作为其他更复杂加密算法的组成部分...

    (Java)文件快速加密(异或加密)

    在Java编程中,有一种常见的加密方法——异或加密(XOR Encryption)。本主题将深入探讨利用异或加密实现文件快速加密的技术细节,以及它在实际应用中的优缺点。 异或加密是一种简单而有效的加密算法,其基本原理是...

    java MD5加密算法匹配Discuz用户表密码字段

    Java MD5加密算法在Discuz用户表密码字段中的应用 MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能将任意长度的数据转换为固定长度的输出,通常是一个128位的二进制数,常以32位的十六进制形式...

    移位算法文件加密解密

    GUI(图形用户界面)是用户与程序交互的直观方式,对于文件加密解密软件来说,它可以提供友好的操作界面,让用户无需了解复杂的加密算法细节也能使用。GUI界面通常包括以下几个关键组件: 1. **选择文件**:用户...

    IDEA加密算法

    IDEA是一种由8个相似圈(Round)和一个输出变换(Output Transformation)组成的迭代算法。IDEA的每个圈都由三种函数:模(216+1)乘法、模216加法和按位XOR组成。

    DES加密算法的JAVA实现.pdf

    总之,DES加密算法虽然在今天已经不再被视为最安全的选择,但它的基本原理和Java实现方式仍然是理解对称加密的重要基础。在Java中实现DES加密涉及对JCE库的理解和使用,以及对加密流程的正确实现。随着技术的发展,...

    Misty 加密算法实现

    在提供的压缩包中,"myMisty.jar"可能是一个包含Misty1加密算法实现的Java应用程序,带有图形用户界面(GUI),允许用户输入明文并进行加密操作。然而,由于描述中提到“明钥不能自己设定”,这可能意味着程序预设了...

    Java语言实现Blowfish加密算法完整代码分享

    Blowfish加密算法是一种广泛应用的对称加密技术,由Bruce Schneier于1993年设计。它的名称来源于Schneier希望这个算法能够像海洋生物Blowfish一样强壮且难以破解。Blowfish的主要特点是它能处理变长密钥,通常在32到...

    Java加密文件保存到数据库源码

    在Java编程环境中,将...总之,这个Java项目提供了一个基本的文件加密和数据库存储方案,通过简单的XOR加密实现了数据的安全存储。开发者可以根据自己的需求,结合更强大的加密算法和安全实践来进一步完善这个系统。

Global site tag (gtag.js) - Google Analytics