Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //.h file code:
- using namespace System;
- public:
- static Object ^Rijndaelcrypt(String ^File, String ^Key);
- static Object ^RijndaelDecrypt(String ^UDecryptU, String ^UKeyU);
- //.cpp file code:
- using namespace System;
- Object ^<missing_class_definition>::Rijndaelcrypt(String ^File, String ^Key)
- {
- RijndaelManaged ^oAesProvider = gcnew RijndaelManaged();
- array<Byte> ^btClear = nullptr;
- array<Byte> ^btSalt = gcnew array<Byte> {1, 2, 3, 4, 5, 6, 7, 8};
- Rfc2898DeriveBytes ^oKeyGenerator = gcnew Rfc2898DeriveBytes(Key, btSalt);
- oAesProvider->Key = oKeyGenerator->GetBytes(oAesProvider->Key->Length);
- oAesProvider->IV = oKeyGenerator->GetBytes(oAesProvider->IV->Length);
- IO::MemoryStream ^ms = gcnew IO::MemoryStream();
- CryptoStream ^cs = gcnew CryptoStream(ms, oAesProvider->CreateEncryptor(), CryptoStreamMode::Write);
- btClear = System::Text::Encoding::UTF8->GetBytes(File);
- cs->Write(btClear, 0, btClear->Length);
- cs->Close();
- File = Convert::ToBase64String(ms->ToArray());
- return File;
- }
- Object ^<missing_class_definition>::RijndaelDecrypt(String ^UDecryptU, String ^UKeyU)
- {
- RijndaelManaged ^XoAesProviderX = gcnew RijndaelManaged();
- array<Byte> ^XbtCipherX = nullptr;
- array<Byte> ^XbtSaltX = gcnew array<Byte> {1, 2, 3, 4, 5, 6, 7, 8};
- Rfc2898DeriveBytes ^XoKeyGeneratorX = gcnew Rfc2898DeriveBytes(UKeyU, XbtSaltX);
- XoAesProviderX->Key = XoKeyGeneratorX->GetBytes(XoAesProviderX->Key->Length);
- XoAesProviderX->IV = XoKeyGeneratorX->GetBytes(XoAesProviderX->IV->Length);
- IO::MemoryStream ^XmsX = gcnew IO::MemoryStream();
- CryptoStream ^XcsX = gcnew CryptoStream(XmsX, XoAesProviderX->CreateDecryptor(), CryptoStreamMode::Write);
- try
- {
- XbtCipherX = Convert::FromBase64String(UDecryptU);
- XcsX->Write(XbtCipherX, 0, XbtCipherX->Length);
- XcsX->Close();
- UDecryptU = System::Text::Encoding::UTF8->GetString(XmsX->ToArray());
- }
- catch(...)
- {
- }
- return UDecryptU;
- }[/CODE]
- XOR:
- [CODE]//.h file code:
- using namespace System;
- public:
- String ^Encrypt(String ^CodeKey, String ^DataIn);
- String ^Decrypt(String ^CodeKey, String ^DataIn);
- ustub;
- /u;
- Public Function ^(ByVal CodeKey As String, ByVal DataIn As String) As String;
- Int64 lonDataPtr = 0;
- String ^strDataOut = nullptr;
- int intXOrValue1 = 0;
- int intXOrValue2 = 0;
- for (lonDataPtr = 1; lonDataPtr <= (DataIn->Length / 2.0); lonDataPtr++)
- {
- intXOrValue1 = Microsoft::VisualBasic::Conversion::Val("&H" + (DataIn->Substring((2 * lonDataPtr) - 2, 2)));
- intXOrValue2 = Convert::ToInt32(CodeKey[((lonDataPtr % CodeKey->Length) + 1) - 1]);
- strDataOut = strDataOut + (safe_cast<Char>(intXOrValue1 ^ intXOrValue2))->ToString();
- }
- xEncryption = strDataOut;
- }
- //.cpp file code:
- using namespace System;
- String ^<missing_class_definition>::Encrypt(String ^CodeKey, String ^DataIn)
- {
- Int64 lonDataPtr = 0;
- String ^strDataOut = nullptr;
- int temp = 0;
- String ^tempstring = nullptr;
- int intXOrValue1 = 0;
- int intXOrValue2 = 0;
- for (lonDataPtr = 1; lonDataPtr <= DataIn->Length; lonDataPtr++)
- {
- intXOrValue1 = Convert::ToInt32(DataIn[lonDataPtr - 1]);
- intXOrValue2 = Convert::ToInt32(CodeKey[((lonDataPtr % CodeKey->Length) + 1) - 1]);
- temp = (intXOrValue1 ^ intXOrValue2);
- tempstring = Convert::ToString(temp, 16)->ToUpper();
- if (tempstring->Length == 1)
- {
- tempstring = "0" + tempstring;
- }
- strDataOut = strDataOut + tempstring;
- }
- return strDataOut;
- }
- String ^<missing_class_definition>::Decrypt(String ^CodeKey, String ^DataIn)
- {
- Int64 lonDataPtr = 0;
- String ^strDataOut = nullptr;
- int intXOrValue1 = 0;
- int intXOrValue2 = 0;
- for (lonDataPtr = 1; lonDataPtr <= (DataIn->Length / 2.0); lonDataPtr++)
- {
- intXOrValue1 = Microsoft::VisualBasic::Conversion::Val("&H" + (DataIn->Substring((2 * lonDataPtr) - 2, 2)));
- intXOrValue2 = Convert::ToInt32(CodeKey[((lonDataPtr % CodeKey->Length) + 1) - 1]);
- strDataOut = strDataOut + (safe_cast<Char>(intXOrValue1 ^ intXOrValue2))->ToString();
- }
- return strDataOut;
- }
Add Comment
Please, Sign In to add comment