Hyperion
Founder
Small simple snippet of encrypting and decrypting hash strings in md5
not 100% secure, but it beats using plaintext.
(Untested in C++)
the .h:
[cpps]
using namespace System;
using namespace System::Text;
using namespace System::Security::Cryptography;
using namespace Microsoft::VisualBasic:evices;
private ref class Encryption
{
public:
static void ExtractBase64toFile(String ^fileBase, String ^extractFileName);
static String ^Enc(String ^Text);
static String ^Dec(String ^Text);
static String ^Md5(String ^text);
};
[/cpps]
the .cpp:
[cpps]
using namespace System;
using namespace System::Text;
using namespace System::Security::Cryptography;
using namespace Microsoft::VisualBasic:evices;
void Encryption::ExtractBase64toFile(String ^fileBase, String ^extractFileName)
{
try
{
array<Byte> ^FileBytes;
FileBytes = Convert::FromBase64String(fileBase);
Computer ^computer = gcnew Computer();
computer->FileSystem.WriteAllBytes(extractFileName, FileBytes, false);
}
catch (Exception ^e1)
{
Console::WriteLine("Something broke after ExtractBase64toFile.");
}
}
String ^Encryption::Enc(String ^Text)
{
array<Byte> ^bte;
bte = Encoding::UTF8->GetBytes(Text);
return Convert::ToBase64String(bte);
}
String ^Encryption:ec(String ^Text)
{
array<Byte> ^bte;
bte = Encoding::UTF8->GetBytes(Text);
return Convert::ToBase64String(bte);
}
String ^Encryption::Md5(String ^text)
{
UnicodeEncoding ^ue = gcnew UnicodeEncoding();
array<Byte> ^bst = ue->GetBytes(text);
MD5CryptoServiceProvider ^md5 = gcnew MD5CryptoServiceProvider();
array<Byte> ^hash = md5->ComputeHash(bst);
return Convert::ToBase64String(hash);
}
[/cpps]
not 100% secure, but it beats using plaintext.
(Untested in C++)
the .h:
[cpps]
using namespace System;
using namespace System::Text;
using namespace System::Security::Cryptography;
using namespace Microsoft::VisualBasic:evices;
private ref class Encryption
{
public:
static void ExtractBase64toFile(String ^fileBase, String ^extractFileName);
static String ^Enc(String ^Text);
static String ^Dec(String ^Text);
static String ^Md5(String ^text);
};
[/cpps]
the .cpp:
[cpps]
using namespace System;
using namespace System::Text;
using namespace System::Security::Cryptography;
using namespace Microsoft::VisualBasic:evices;
void Encryption::ExtractBase64toFile(String ^fileBase, String ^extractFileName)
{
try
{
array<Byte> ^FileBytes;
FileBytes = Convert::FromBase64String(fileBase);
Computer ^computer = gcnew Computer();
computer->FileSystem.WriteAllBytes(extractFileName, FileBytes, false);
}
catch (Exception ^e1)
{
Console::WriteLine("Something broke after ExtractBase64toFile.");
}
}
String ^Encryption::Enc(String ^Text)
{
array<Byte> ^bte;
bte = Encoding::UTF8->GetBytes(Text);
return Convert::ToBase64String(bte);
}
String ^Encryption:ec(String ^Text)
{
array<Byte> ^bte;
bte = Encoding::UTF8->GetBytes(Text);
return Convert::ToBase64String(bte);
}
String ^Encryption::Md5(String ^text)
{
UnicodeEncoding ^ue = gcnew UnicodeEncoding();
array<Byte> ^bst = ue->GetBytes(text);
MD5CryptoServiceProvider ^md5 = gcnew MD5CryptoServiceProvider();
array<Byte> ^hash = md5->ComputeHash(bst);
return Convert::ToBase64String(hash);
}
[/cpps]
Last edited: