| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| readme.txt | 2006-01-04 | 2.6 kB | |
| HWSLib.zip | 2005-12-30 | 4.7 kB | |
| Totals: 2 Items | 7.3 kB | 0 | |
Íà ñåãîäíÿøíèé äåíü ïîëíàÿ äîêóìåíòàöèÿ ïî áèáëèîòåêå åùå íå íàïèñàíà,
ìîãó ïðåäñòàâèòü ïîêà òîëüêî ïðèìåð ðàáîòû ñ íåé. Áèáëèîòåêà HWSLib
ñîäåðæèò 5 êëàññîâ:
HSystem, HLogger, HEncryptor, HWSLibException, HWSLibInfo.
Äâà ïîñëåäíèõ èñïîëüçóþòñÿ â ñëóæåáíûõ öåëÿõ. Ïðè âûçîâå ëþáîãî ìåòîäà ëþáîãî
êëàññà áèáëèîòåêè â ñëó÷àå âîçíèêíîâåíèÿ èñêëþ÷åíèÿ ãåíåðèðóåòñÿ èñêëþ÷åíèå
HWSLibException ñî ñâîéñòâîì InnerException, ñîäåðæàùèì èñõîäíîå èñêëþ÷åíèå.
Ïðèìåð ðàáîòû:
HSystem
public static void HSystem.OptimizeMemoryUsage();
Ìèíèìèçèðóåò ðàçìåð èñïîëüçóåìîé ïðèëîæåíèåì ïàìÿòè. Èíîãäà ðåçóëüòàò ðàáîòû ìîæåò óäèâèòü.
HLogger
Îñóùåñòâëåíèå ïîòîêîáåçîïàñíîé çàïèñè â òåêñòîâûé ëîã-ôàéë.
Ïðèìåð:
HWSLib.HLogger MyLogger = new HWSLib.HLogger("log.txt");
MyLogger.Log("Log message");
Ýòîò ìåòîä ìîæíî âûçûâàòü îäíîâðåìåííî èç ðàçíûõ ïîòîêîâ,
íèêàêèõ êîëëèçèé íå âîçíèêíåò.
HEncryptor
Øèôðîâàíèå/Äåøèôðîâàíèå/Ïîäïèñü/Ïðîâåðêà ñòðîêè.
Ïðè øèôðîâàíèè èñïîëüçóåòñÿ àëãîðèòì RSA.
Ïðè ïîäïèñè - SHA1RSA
// Ñîçäàåì êëþ÷ äëèíîé 512 áèò
RSACryptoServiceProvider Key = new RSACryptoServiceProvider(512);
Console.Write("Enter text: ");
string data = Console.ReadLine();
// Øèôðóåì ñòðîêó
string encryptedData = HWSLib.HEncryptor.EncryptString(data, Key.ExportParameters(false));
Console.WriteLine("Encrypted text: " + encryptedData);
// Ðàñøèôðîâûâàåì
string decryptedData = HWSLib.HEncryptor.DecryptString(encryptedData, Key.ExportParameters(true));
Console.WriteLine("Decrypted text: " + decryptedData);
Ïðè øèôðîâàíèè òðåáóåòñÿ òîëüêî îòêðûòûé êëþ÷, ïîýòîìó èñïîëüçóåì Key.ExportParameters(false)
äëÿ ïåðåäà÷è êëþ÷à â ôóíêöèþ.
Öèôðîâàÿ ïîäïèñü.
public static string HWSLib.SignString(string toBeSigned, RSAParameters key);
Íà âûõîäå èìååì ïîäïèñü.
Ïðîâåðêà:
public static bool HWSLib.HEncryptor.VerifyStringSignature(string toBeVerified, string signature, RSAParameters key);
Êëþ÷ ñîçäàåòñÿ àíàëîãè÷íî, ïî ïðèìåðó ñ øèôðîâàíèåì.
Ïðè ïîäïèñè çàêðûòûé êëþ÷ èñïîëüçóåòñÿ ïðè âûçîâå ôóíêöèè ñîçäàíèÿ ïîäïèñè.
string signature = HWSLib.HEncryptor.SignString(data, Key.ExportParameters(true));
Ïðè ïðîâåðêå äîñòàòî÷íî îòêðûòîãî êëþ÷à.
bool signatureOk = HWSLib.HEncryptor.VerifyStringSignature(string toBeVerified, string signature, Key.ExportParameters(false));
HWSLibInfo
public string HWSLibInfo.VersionString;
Ñîäåðæèò âåðñèþ ñáîðêè áèáëèîòåêè.
Âñåãäà áóäó ðàä óâèäåòü Âàøè êîììåíòàðèè, ïëîõèå èëè õîðîøèå,
ïî àäðåñó https://sourceforge.net/projects/hwslib
Åñëè áóäóò âîïðîñû - çàäàâàéòå.
Ñ óâàæåíèåì, Åâãåíèé Èëëþøêî.