我使用我很喜歡的一類:C++使用unsigned char型的,而不是無符號的typedef __int8
#pragma once
#include "StdAfx.h"
#include "xorcipher.h"
#include <vector>
using namespace std;
typedef unsigned __int8 BYTE;
vector<BYTE>m_Key;
CXORcipher::CXORcipher()
{
m_Key.push_back(0x55);
m_Key.push_back(0xae);
m_Key.push_back(0x8c);
m_Key.push_back(0x14);
}
CXORcipher::~CXORcipher()
{
}
vector<BYTE> xor_encryptdecrypt(const vector<BYTE>&uInput)
{
vector<BYTE> ret;
ret.reserve(uInput.size());
vector<BYTE>::const_iterator keyIterator = m_Key.begin();
for(vector<BYTE>::const_iterator inputIterator = uInput.begin(); inputIterator != uInput.end(); ++ inputIterator)
{
ret.push_back(*inputIterator^*keyIterator);
// advance the key iterator, wrapping to begin.
if(++ keyIterator == m_Key.end())
{
keyIterator = m_Key.begin();
}
}
return ret;
}
不過,我想喂unsigned char型的,而不是類型定義的載體。我對C++還不是很堅定,而且我害怕搞砸了。
有人能告訴我我能做什麼嗎?
謝謝!
我不明白:'vector'已經是'vector '了。你能澄清你的問題嗎? –
'typedef'是「弱」。如果'將'typedef''設爲'B',則可以交替使用'A'和'B'。 – BoBTFish