string EncryptionHandler::singleEncrypt(const string& msg) { DES des; des.SetKey(DES_KEY, 8); des.ProduceSubKey(); CC_ASSERT(msg.length() <= 8); char byte[8] = {0}; for (int i = 0; i < msg.length(); i++) { byte[i] = msg.c_str()[i]; } des.SetMsg(byte, 8); des.Crypte(); // vector<char> cipher; // for (int i = 0; i < 8; i++) // { // cipher.push_back(des.cryptedmsg[i]); // } string cipher(des.cryptedmsg, des.cryptedmsg + 8); return cipher; }
string EncryptionHandler::singleDecrypt(const string& cryptedMsg) { DES des; des.SetKey(DES_KEY, 8); des.ProduceSubKey(); CC_ASSERT(cryptedMsg.size() <= 8); for (int i = 0; i < cryptedMsg.size(); i++) { des.cryptedmsg[i] = cryptedMsg[i]; } des.Char2Bit(des.cryptedmsg, des.bcryptedmsg, 8); des.Decipher(); char msg[9] = {0}; for (int i = 0; i < 8; i++) { msg[i] = des.decipher[i]; } return string(msg); }