/ / c # kód pre šifrovanie [closed] - c #, šifrovanie

c # kód pre šifrovanie [closed] - c #, šifrovanie

Chcem šifrovať serail čísla pevného disku, materskej dosky etccan u prosím navrhnúť niektoré dobré matematické rovnice pre šifrovanie?

odpovede:

9 pre odpoveď č. 1

Všeobecným pravidlom, ktoré zahŕňa šifrovanie,ak ste to neurobili predtým, urobíte to nesprávne. Ak je šifrovanie dôležité, použite balík niekoho iného (s prednostným zdrojom, aby nevznikali zadné vstupy), pretože to budú mať chyby. Odhlásiť sa Schneierov kniha na Crypto pre niektoré všeobecné rovnice a implementácie.

Ale ak chcete len šifrovanie a nienaozaj neporiadok s jeho implementáciou (aj keď to je práve kopírovanie cez kód z knihy), potom sa pozrite na obor názvov šifrovania, ktoré iní spomenuli.


3 pre odpoveď č. 2

Namespace
http://msdn.microsoft.com/en-us/library/system.security.cryptography.aspx


0 pre odpoveď č. 3

http://code.google.com/p/zscreen/source/browse/trunk/ZScreenLib/Helpers/PasswordManager.cs má metódy na šifrovanie a dešifrovanie reťazca. To je začiatok :)


0 pre odpoveď č. 4

Záleží na tom, na čo ich chcete použiť. Existuje veľa algoritmov implementovaných v systéme Windows System.Security.Cryptography namespace.

Ak chcete zašifrovať údaje a posielať ich na iný počítač a dešifrovať ich, najlepšie je, že ide o asymetrické šifrovanie, napr. RSA.

Ak ste v poriadku iba pri kódovaní údajov a potom ich porovnávali, ale nikdy ich nekvalifikujete, najlepšie je použiť hash, ako SHA-1.

Ak chcete len maskovať reťazec, môžete jednoducho XOR každý znak s nejakou preddefinovanou konštantou a potom dekódovať tým, že robíte ten istý proces:

private static string key = "MySecretKey";
private static byte[] keyData = Encoding.ASCII.GetBytes(key);

public static byte[] Encrypt(byte[] source)
{
byte[] target = new byte[source.Length];

for (int i = 0; i < target.Length; i++)
target[i] = (byte)(source[i] ^ keyData[i % keyData.Length]);

return target;
}

0 pre odpoveď č. 5

Ako ste spomenuli C # I "d poradiť pri pohľade na. NET rámec Oblasť názvov kryptografie.

Mali by ste používať jeden z algoritmov, ktoré ste tu poskytli, skôr než sa snažíte implementovať svoje vlastné.

Pozrite si aj túto predchádzajúcu otázku Najlepší spôsob, ako šifrovať krátke reťazce v .NET


0 pre odpoveď č. 6

Na BouncyCastle C# vydanie môže tiež ponúknuť niektoré zaujímavé vlastnosti nad rámec .NET kryptografie.