我有我工作的一個項目,我現在有工作,進入了我的名字>然後將其轉換爲十六進制>進行加密>解密它>然後打印。問題是我需要用二進制代碼來強制我的名字,而不是當前的工作方式。我不知道如何轉換它。C++如何硬編碼名稱爲二進制
這裏是代碼片段。 如果我輸錯了代碼,我很抱歉。第一次發佈。
CfinalprAES ofinalprAES;
ofinalprAES.MakeKey("abcdefghabcdefgh", "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16, 16);
char szDataIn[80];
printf("Enter your Name: ");
scanf("%79s", szDataIn);
char szDataOut[17] = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
ofinalprAES.EncryptBlock(szDataIn, szDataOut);
CharStr2HexStr((unsigned char*)szDataIn, szHex, 16);
printf("Hex of input: ");
cout << szHex << endl;
CharStr2HexStr((unsigned char*)szDataOut, szHex, 16);
printf("Encrypted: ");
cout << szHex << endl;
memset(szDataIn, 0, 16);
ofinalprAES.DecryptBlock(szDataOut, szDataIn);
CharStr2HexStr((unsigned char*)szDataIn, szHex, 16);
printf("Decrypted: ");
std::stringstream ss;
ss << szHex << endl;
printf("Hex to String: ");
cout << ss.str();
怎麼辦你的意思是「硬代碼」和「二進制」? – 2014-12-03 17:03:46
你可以簡單地使用'char szDataIn [] =「Chris Bertsch」;'在你的二進制文件(可執行文件)中硬編碼你的名字。那是你的追求? – 2014-12-03 17:17:35
'char'和binary之間沒有區別。一個普通的字典:char - 每個字符都由一個符號表示,或者它的數字ASCII值(對於ASCII字符),並不是所有符號都可見。十六進制 - 當它包含2個十六進制數字時,由它表示的每個字符的值。通過轉換爲十六進制字符串,您還可以將二進制文件轉換爲文本文件 – SHR 2014-12-03 17:29:47