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

点击(此处)折叠或打开

  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. kvm 启动libvirtd市出现错误

    kvm 启动libvirtd市出现错误: /etc/init.d/libvirtd start启动 libvirtd 守护进程:libvirtd: relocation error: libvirtd ...

  2. linux下安装软件的方法

    1. 区分 rpm -qi -qf -ql -qa四个不同选项组合的作用?rpm -qi //查询已经安装的某个RPM软件包的信息rpm -qf //查询某个程序文件是由哪个RPM软件包安装的rpm ...

  3. CSS Gradient详解

    啥也不说,先看代码: <style> div { width:100px;height:100px;border-radius:50px;/**第一行样式是设置容器的宽高,并且把圆角设置成 ...

  4. iocfont 网页图标字体以及使用方法

    在网页设计中使用图标字体(icon font)是件挺有新意的事情,使用图标字体能我们带来了一定的方便,比如在移动设备.Retina屏幕效果展示.兼容IE6/7浏览器以及能任意将图标放大缩小等,这些都是 ...

  5. 多重和嵌套if

    多重if实例: 看例子,内容不解释了! 隐藏行号 复制代码 ? 多重if import java.util.Scanner; public class 多重if{ public static void ...

  6. vim搜索后跳到下(上)一个

    搜索高亮后, 跳到下一个:小写n 上一个:大写N

  7. Objective-C 协议(接口)

    Objective-C 协议类似于java语言中的接口 新建文件步骤:Objective-C File ---> File Type = "Protocol" @protoc ...

  8. GTD:是一种态度

    时间管理发展的四个阶段: 第一代理论着重利用便条与备忘录,在忙碌中调配时间与精力: 第二代理论强调行事历与日程表,反映出时间管理已注意到规划未来的重要: 第三代理论正是目前流行的优先级观念.也就是依据 ...

  9. table不能遗露了tbody

    1.假如创建一个空表 ,然后去设置它的innerHTML,并获取表单的高度:在ie10及其他的浏览器中,会像预期一样正常被解析出来: <!DOCTYPE html> <html> ...

  10. php+mysql将大数据sql文件导入数据库

    <?php $file_name = "d:test.sql"; $dbhost = "localhost"; $dbuser = "root& ...