c++ byte和字符串简单加密变形

#include 
#include 
#include 
#include 
using namespace std;

typedef unsigned char byte;
//typedef unsigned char BYTE; //这个宏

typedef unsigned char BYTE;

//http://www.52ij.com/jishu/cpp/cbyte/5620.html
//c++ byte转int
int bytesToInt(byte* bytes,int size = 4)

{

	int a = bytes[0] & 0xFF;

	a |= ((bytes[1] << 8) & 0xFF00);

	a|= ((bytes[2] << 16) & 0xFF0000);

	a |= ((bytes[3] << 24) & 0xFF000000);

	return a;

}
/*
构造两个参数,一个是BYTE数组,一个是BYTE数组对应的长度,目的是方便后续的for循环进行遍历而不用再此判断。
*/
//http://www.52ij.com/jishu/cpp/cbyte/

string* byteToHexStr(unsigned char byte_arr[], int arr_len)
{
	string* hexstr=new string();
	for (int i=0;i=0&&S<=9)
			hex1=(char)(48+S);
		else
			hex1=(char)(55+S);
		//将C++中unsigned char和int的强制转换得到的余数转成字母
		if (Y>=0&&Y<=9)
			hex2=(char)(48+Y);
		else
			hex2=(char)(55+Y);
		//最后一步的代码实现,将所得到的两个字母连接成字符串达到目的
		*hexstr=*hexstr+hex1+hex2;
	}
	return hexstr;

}
//加密信息并输出,要指定长度,字串结尾'\0'也可以被加密。再次调用即解密。
void EnCodeLen(char* pStr,unsigned int len)
{
	for(unsigned int i=0;i2)
	{

		flag=1;
	}

	while(input.getline(line,1024)!=NULL)
	{
		
		string str=string(line);
		if(str.empty())
		{
			continue ;

		}
		EnCodeLen(line,strlen(line));
		//printf("%s\n",line);	

		if(flag)
		{
			output<"<

你可能感兴趣的:(c/c++)