在加密,解密中,异或运算应该时比较简单的一种。下面的代码,采用异或运算进行加密,解密:

点击(此处)折叠或打开

  1. #include <QtCore/QCoreApplication>
  2. #include <QTextCodec>
  3. #include <QString>
  4. #include <QDebug>
  5. QString getXorEncryptDecrypt(const QString &, const char &);
  6. QString byteToQString(const QByteArray &byte);
  7. QByteArray qstringToByte(const QString &strInfo);
  8. int main(int argc, char *argv[])
  9. {
  10. QCoreApplication a(argc, argv);
  11. QString str = QString("http://www.baidu.com?id=1");
  12. QString jiami = getXorEncryptDecrypt(str, 11);
  13. qDebug() << "str:" << str;
  14. qDebug() << "miwen:" << jiami;
  15. QString jiemi = getXorEncryptDecrypt(jiami, 11);
  16. qDebug() << "jimi:" << jiemi;
  17. return a.exec();
  18. }
  19. QString getXorEncryptDecrypt(const QString &str, const char &key)
  20. {
  21. QString result;
  22. QByteArray bs = qstringToByte(str);
  23. for(int i=0; i<bs.size(); i++){
  24. bs[i] = bs[i] ^ key;
  25. }
  26. result = byteToQString(bs);
  27. return result;
  28. }
  29. QString byteToQString(const QByteArray &byte)
  30. {
  31. QString result;
  32. if(byte.size() > 0){
  33. QTextCodec *codec = QTextCodec::codecForName("utf-8");
  34. result = codec->toUnicode(byte);
  35. }
  36. return result;
  37. }
  38. QByteArray qstringToByte(const QString &strInfo)
  39. {
  40. QByteArray result;
  41. if(strInfo.length() > 0){
  42. QTextCodec *codec = QTextCodec::codecForName("utf-8");
  43. result = codec->fromUnicode(strInfo);
  44. }
  45. return result;
  46. }

testXorJiami$ ./testXorJiami
str: "http://www.baidu.com?id=1" 
miwen: "c^?^?{1$$|||%ijbo~%hdf4bo6:" 
jimi: "http://www.baidu.com?id=1"

 xorEncryptDecrypt.rar  

Qt使用异或进行加密解密的更多相关文章

  1. php异或加密解密算法的实现

    function xor_enc($str,$key) { $crytxt = ''; $keylen = strlen($key); for($i=0;$i<strlen($str);$i++ ...

  2. java 加密解密工具类(实用!!!)

    最近发现了一个加密解密的好例子,很方便使用,可以作为平时开发的工具集,记录一下. package com.sh.springboottdemo2.util; import com.sun.org.ap ...

  3. PHP 简单的加密解密算法

    <?php /** * * @创建时间:2015-3-12 下午2:07:33 * @作者:YuMing * @描述:异或加密解密类 */ class Yihuo extends CI_Cont ...

  4. 从网上整理的一些delphi字符串加密解密方法

    function Encode(Str: string): string; var //加密 TmpChr: AnsiChar; i, Len: integer; begin Result := St ...

  5. Delphi加密解密算法

    // 加密方法一(通过密钥加密解密)function EncryptString(Source, Key: string): string;function UnEncryptString(Sourc ...

  6. c# 如何利用异或运算进行简单加密解密

    利用“^”异或运算对字符串进行加密 原理:按位做“异或”运算是->位值相同得1,不同得0,如下计算 1 ^ 1 = 0 1 ^ 0 = 1 0 ^ 1 = 1 0 ^ 0 = 0 例如: < ...

  7. 如何通过php 使用异或(XOR)加密/解密文件

    laravel代码如下: /** * @param $q * @param $k * @return string 异或加解密 */ public function jiajiemi($q,$k){ ...

  8. [PHP]加密解密函数

    非常给力的authcode加密函数,Discuz!经典代码(带详解) function authcode($string, $operation = 'DECODE', $key = '', $exp ...

  9. .NET/android/java/iOS AES通用加密解密(修正安卓)

    移动端越来越火了,我们在开发过程中,总会碰到要和移动端打交道的场景,比如.NET和android或者iOS的打交道.为了让数据交互更安全,我们需要对数据进行加密传输.今天研究了一下,把几种语言的加密都 ...

随机推荐

  1. 监控工具nagios

    Nagios 简介是一个开源软件,可以监控网络设备网络流量.Linux/windows主机状态,甚至可以监控打印机它可以运行在Linux上或windows上基于浏览器的web界面方便运维人员查看监控项 ...

  2. DEV PivotGridControl 全选行或列

    foreach (string item in fieldProductName.FilterValues.Values) { pivotGridControl.Cells.SetSelectionB ...

  3. JavaScript 函数方法 - toString()

    Function.prototype.toString() 返回函数代码的字符串形式. 描述 Function 对象覆盖了从 Object 继承来的 Object.prototype.toString ...

  4. javascript 生成UUID

    代码一: /*! Math.uuid.js (v1.4) http://www.broofa.com mailto:robert@broofa.com Copyright (c) 2010 Rober ...

  5. Java中关于OOM的场景及解决方法

    原文地址:http://developer.51cto.com/art/201112/305696.htm 1.OOM for Heap=>例如:java.lang.OutOfMemoryErr ...

  6. Mysql常用命令记录

    -- 导出数据库: mysqldump -u user_name -p database_name > import_file.sql -- 执行脚本 source database.sql

  7. C++中string类的基本用法

    #include <iostream> #include <set> using namespace std; int main() { string line; getlin ...

  8. NDK编译Python2.7.5

    [背景] 网上有一些ndk编译python的做法,但按照教程做总是不成功,可能是环境版本不一样,导致很多地方的配置都不成功. 网上的教程大多只有做法,没有解释,即使按照教程编译成功,很多细节都不知道为 ...

  9. Couchbase 使用方法

    1.数据流向 List<模型>  数据-->MsgPack 打包成byte[]-> couchbase 实例调用 Store(Enyim.Caching.Memcached.S ...

  10. Longest Palindromic Substring -LeetCode

    题目 Given a string s,find the longest palindromic substring in S.You may assume  that the maximum len ...