سؤال

أريد أن يقوم طلبي بتشفير كلمة مرور المستخدم ، وفي وقت واحد سيتم فك تشفير كلمة المرور لإرسالها إلى الخادم للمصادقة. ينصحني أحد الأصدقاء باستخدام HMAC. كتبت الرمز التالي في C#:

System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
byte[] key = encoding.GetBytes("secret");
HMACSHA256 myhmacsha256 = new HMACSHA256(key);
byte[] hashValue = myhmacsha256.ComputeHash(encoding.GetBytes("text"));
string resultSTR = Convert.ToBase64String(hashValue);
myhmacsha256.Clear();

كيفية فك تشفير كلمة المرور (النتائج ، في هذه الحالة)؟

هل كانت مفيدة؟

المحلول

HMAC (رمز مصادقة رسالة التجزئة) ليس تشفيرًا ، إنها وظيفة التجزئة (في هذه الحالة SHA-256) بالإضافة إلى بعض المفاتيح السرية. إنه خاطئ ، لا توجد طريقة لاستخلاص النص العادي من HMAC.

إذا كنت ترغب في تشفير بعض البيانات السرية ، فيجب عليك التفكير في استخدام فئة ProtectedData بدلاً من ذلك. المزيد من InfoM بما في ذلك رمز العينة في http://msdn.microsoft.com/en-us/library/system.security.cryptography.protectedData.aspx

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top