Qt使用异或进行加密解密
点击(此处)折叠或打开
- #include <QtCore/QCoreApplication>
- #include <QTextCodec>
- #include <QString>
- #include <QDebug>
- QString getXorEncryptDecrypt(const QString &, const char &);
- QString byteToQString(const QByteArray &byte);
- QByteArray qstringToByte(const QString &strInfo);
- int main(int argc, char *argv[])
- {
- QCoreApplication a(argc, argv);
- QString str = QString("http://www.baidu.com?id=1");
- QString jiami = getXorEncryptDecrypt(str, 11);
- qDebug() << "str:" << str;
- qDebug() << "miwen:" << jiami;
- QString jiemi = getXorEncryptDecrypt(jiami, 11);
- qDebug() << "jimi:" << jiemi;
- return a.exec();
- }
- QString getXorEncryptDecrypt(const QString &str, const char &key)
- {
- QString result;
- QByteArray bs = qstringToByte(str);
- for(int i=0; i<bs.size(); i++){
- bs[i] = bs[i] ^ key;
- }
- result = byteToQString(bs);
- return result;
- }
- QString byteToQString(const QByteArray &byte)
- {
- QString result;
- if(byte.size() > 0){
- QTextCodec *codec = QTextCodec::codecForName("utf-8");
- result = codec->toUnicode(byte);
- }
- return result;
- }
- QByteArray qstringToByte(const QString &strInfo)
- {
- QByteArray result;
- if(strInfo.length() > 0){
- QTextCodec *codec = QTextCodec::codecForName("utf-8");
- result = codec->fromUnicode(strInfo);
- }
- return result;
- }
testXorJiami$ ./testXorJiami
str: "http://www.baidu.com?id=1"
miwen: "c^?^?{1$$|||%ijbo~%hdf4bo6:"
jimi: "http://www.baidu.com?id=1"
Qt使用异或进行加密解密的更多相关文章
- php异或加密解密算法的实现
function xor_enc($str,$key) { $crytxt = ''; $keylen = strlen($key); for($i=0;$i<strlen($str);$i++ ...
- java 加密解密工具类(实用!!!)
最近发现了一个加密解密的好例子,很方便使用,可以作为平时开发的工具集,记录一下. package com.sh.springboottdemo2.util; import com.sun.org.ap ...
- PHP 简单的加密解密算法
<?php /** * * @创建时间:2015-3-12 下午2:07:33 * @作者:YuMing * @描述:异或加密解密类 */ class Yihuo extends CI_Cont ...
- 从网上整理的一些delphi字符串加密解密方法
function Encode(Str: string): string; var //加密 TmpChr: AnsiChar; i, Len: integer; begin Result := St ...
- Delphi加密解密算法
// 加密方法一(通过密钥加密解密)function EncryptString(Source, Key: string): string;function UnEncryptString(Sourc ...
- c# 如何利用异或运算进行简单加密解密
利用“^”异或运算对字符串进行加密 原理:按位做“异或”运算是->位值相同得1,不同得0,如下计算 1 ^ 1 = 0 1 ^ 0 = 1 0 ^ 1 = 1 0 ^ 0 = 0 例如: < ...
- 如何通过php 使用异或(XOR)加密/解密文件
laravel代码如下: /** * @param $q * @param $k * @return string 异或加解密 */ public function jiajiemi($q,$k){ ...
- [PHP]加密解密函数
非常给力的authcode加密函数,Discuz!经典代码(带详解) function authcode($string, $operation = 'DECODE', $key = '', $exp ...
- .NET/android/java/iOS AES通用加密解密(修正安卓)
移动端越来越火了,我们在开发过程中,总会碰到要和移动端打交道的场景,比如.NET和android或者iOS的打交道.为了让数据交互更安全,我们需要对数据进行加密传输.今天研究了一下,把几种语言的加密都 ...
随机推荐
- Builder模式 初体验
看来Java构造器模式,决定动手体验下.构造器模式是什么?干什么用的?推荐大家看下ITEYE的一篇文章 http://www.iteye.com/topic/71175 了解构 ...
- 在struts2的action中操作域对象(request、session)
在struts2的Action中,操作域对象一共有三种方式: 1.ActionContext(与servelt API无关联): //相当于request ActionContext.getConte ...
- 短信猫编程的一些资料1(At指令发送短信)
现在正在做TC35的项目, 下面分享一下这几天在网上找到的资料: 手机 SMS PDU 格式参考手册 1.相关的GSM AT指令 与SMS有关的GSM AT指令(from GSM0 ...
- Angular源代码学习笔记-原创
时间:2014年12月15日 14:15:10 /** * @license AngularJS v1.3.0-beta.15 * (c) 2010-2014 Google, Inc. http:// ...
- (转)单例模式(Singleton)
首先来明确一个问题,那就是在某些情况下,有些对象,我们只需要一个就可以了, 比如,一台计算机上可以连好几个打印机,但是这个计算机上的打印程序只能有一个, 这里就可以通过单例模式来避免两个打印作业同时输 ...
- AngularJs练习Demo8 自定义过滤器
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...
- AngularJs练习Demo9 Http
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...
- oracle启动,提示“LRM-00109: could not open parameter file”
转载自 http://blog.sina.com.cn/s/blog_53e731b70101liku.html oracle启动,提示“LRM-00109: could not open par ...
- win7_64位主机装虚机Linux系统(VMware Workstation10+CentOS6.5)详细步骤图文讲解
第一步:创建新的虚拟机 第二步:选择“典型”安装 第三步:选择映像文件安装—浏览选择iso文件 第四步:选择稍后安装操作系统 第五步:系统选择Linux,版本选择centOS64位 第六步:虚拟机名称 ...
- git教程 入门
快速上传已有代码到github 如何将最新代码上传到github,这里讲本地已有项目文件的情况(假如本地有一个helloworld的工程目录,目录中有很多项目文件.),步骤如下: 前提:已安装git客 ...