`

[原]使用"异或"简单加密的实现

阅读更多
[标题]:使用"异或"简单加密的实现
[时间]:2009-4-19
[摘要]:需要使用加密算法加密密码,但是面对DES等算法,实现起来还是有难度的。并且自己的应用也不需要很强的加密算法,只要不直接使用明文就可以了。所以,实现了用"异或"简单加密密码。加密解密都是使用同一算法。要提醒的是,这种加密并不可靠,而且极易被破解。
[关键字]:异或,加密,解密,DES,密码,简单,算法
[环境]:VC6
[作者]:Winty (wintys@gmail.com)

[正文]:
加密原理:
a^b => c , c^b => a
一次"异或"之后,明文变成密文。
两次"异或"之后,密文被解密成明文。

那么,a就是需要加密的明文,b就是密钥,c就是密文。
void CTestDlg::OnBtnEncrypt()
{
    CString strText = "password";
    CString strSecret;//密文
    CString strPlain;//解密后的明文

    strSecret = Encrypt(strText);
    AfxMessageBox(strSecret);

    strPlain = Encrypt(strSecret);
    AfxMessageBox(strPlain);
   
    //解密是否正确
    if(strText.Compare(strPlain) == 0)
        AfxMessageBox("OK");
}

CString CTestDlg::Encrypt(const CString &strText)
{
    CString strContent(strText);
    CString strKey = "It's kind of you to visit me!!";//Length:30chars
   
    TCHAR t;
    TCHAR k;
    //加密内容最大长度为30,多于30字符的不加密
    for(int i = 0 ; i < strContent.GetLength() && i < strKey.GetLength(); i++){
        t = strContent.GetAt(i);
        k = strKey.GetAt(i);
        t ^= k;//与Key异或加密
        strContent.SetAt(i , t);
    }
   
    return strContent;
}
分享到:
评论

相关推荐

    delphi异或加密解密实例

    同时,需要注意的是,尽管异或加密简单易用,但对于大规模数据或高安全性的需求,可能需要考虑使用更安全的加密算法,如AES(高级加密标准)。 这个压缩包文件"delphi异或加密解密实例"应该包含一个完整的Delphi...

    C# 异或加密数字 实例源码(加密解密)

    尽管异或加密在实现上非常简单,但它并不适合用于复杂的加密需求,因为其安全性相对较低。如果密钥被泄露,那么数据就容易被破解。在实际应用中,更推荐使用如AES、DES等更为安全的加密算法。然而,对于学习和理解...

    C#_Winform异或加密.rar

    在这个案例中,我们关注的是使用C#编程语言在Windows Forms(Winform)环境下实现的异或加密。异或加密是一种简单的加密算法,它基于异或逻辑运算符进行数据的加解密。让我们深入探讨这个主题,了解异或加密的工作...

    C#异或加密数字实例源码_84.rar

    以下是一个简单的异或加密函数的实现: ```csharp public static byte[] XOR(byte[] data, byte[] key) { if (data.Length != key.Length) throw new ArgumentException("Data and key must have the same length...

    RK密钥图像简单加密和恢复.rar_RK秘钥_Rk恢复密钥_图像密钥_异或加密_异或运算

    在这个场景中,我们关注的是"RK密钥"用于图像的简单加密和恢复过程,涉及到的核心概念包括"RK龙格库塔定理"、"密钥图像"、"异或加密"以及"异或运算"。 首先,"RK龙格库塔定理"可能是指将龙格库塔方法(Runge-Kutta ...

    简单的异或加密demo--vs2008编译通过

    本文将基于给定的标题“简单的异或加密demo--vs2008编译通过”以及描述,深入探讨异或加密算法的基础知识,并提供一个简化的C语言实现示例,适合初学者学习。 异或(XOR)加密是一种简单的对称加密方法,它利用异或...

    c#异或和加1加密

    加密过程是明文与密钥异或,解密过程则是加密后的密文与相同的密钥再次异或,因为两次异或同一个密钥会恢复原数据。这种加密方式相对简单,但安全性较低,因为如果密钥被泄露,数据就容易被破解。 加1加密则更为...

    图片异或加解密

    总结,"图片异或加解密"是利用位运算实现的一种简单但有效的图片加密方法。在C++中,通过编程实现这一过程,可以创建一个完整的加密解密工具。然而,需要注意的是,虽然这种方法对初级攻击者有一定的防护作用,但在...

    java使用异或实现变量互换和异或加密解密示例

    本文将详细讲解如何使用Java中的异或运算来实现变量互换以及异或加密解密。 首先,我们来看一下如何用异或来实现两个变量的互换,这是基于异或运算的一个重要性质:任何数与0异或都等于它本身,以及同一个数连续...

    unity3d网络通讯的封包,解包与简单的异或加密

    异或具有自逆性,即同一个密钥对数据加密后,再用该密钥解密,可以恢复原数据。 简单的异或加密流程如下: 1. **选择密钥**:选择一个固定长度的密钥,用于加密和解密。 2. **加密**:将明文数据与密钥进行逐位异或...

    delphi加密程序(异或)

    Delphi加密程序利用异或运算可以实现简单的数据加密,但需要注意其安全性的局限性。在实际项目中,通常会结合其他加密技术,如AES、DES等,以增强安全性。同时,确保良好的密钥管理也是至关重要的。

    C#异或加密数字实例源码.rar

    本实例将聚焦于C#中的异或(XOR)加密,这是一种简单但有效的加密方法。在本文中,我们将深入探讨异或加密的基本原理,以及如何在C#中实现这一过程。 异或加密是基于异或运算符(^)的加密算法。异或运算具有自反性、...

    C#异或加密数字实例源码

    在IT领域,尤其是在软件开发中,加密技术是保护数据安全的重要手段。C#作为.NET框架下的主要编程语言,提供了丰富的...理解并掌握异或加密的基本原理和实现方式,有助于我们更好地选择和使用加密技术,确保数据的安全。

    Android数据加密之异或加密算法的实现方法

    异或加密算法是一种简单的加密手段,常用于保护数据的隐私,尤其在资源有限的环境如Android平台上。它的基本原理是利用异或运算的性质:任何数与0进行异或操作都保持不变,相同的数进行异或操作结果为0,而不同的数...

    java-android:AES加密,RAS加密,DES加密,MD5加密,Base64加密,异或加密

    最后,异或(XOR)加密是一种简单的位运算加密方法,使用一个密钥与明文进行异或操作得到密文,解密时再次异或相同密钥即可恢复原数据。虽然异或加密较易破解,但在特定场景下,如简单的数据隐藏,仍有应用。 以上...

    java异或运算操作简单

    Java中的异或运算是一种基本的逻辑运算,它在编程中有着广泛的应用,特别是在位操作、数据加密、数据校验等领域。异或运算符是`^`,它遵循特定的运算规则,这些规则对于理解它的行为至关重要。 首先,异或运算的...

    异或运算小工具

    异或的特点使得它在加密过程中既能够实现数据的隐藏,又能够通过多次异或解密。 8. **循环冗余校验(CRC)**:在数据通信中,CRC是一种利用异或运算检查数据完整性的方法。通过对数据块进行异或运算生成一个校验码...

    (java)文件夹批量快速加密

    本篇文章将详细探讨如何使用Java进行文件夹批量快速加密,特别是通过简单的异或(XOR)加密策略来实现这一目标。 首先,我们需要理解异或加密的基本原理。异或是一种二进制运算,它的工作方式是:如果两个输入位相同...

Global site tag (gtag.js) - Google Analytics