PDA

View Full Version : مشکل در استفاده از فیلد باینری در MySQL



رها
سه شنبه 08 شهریور 1384, 03:19 صبح
سلام.
من یه table در sql server دارم که فیلد پسورد در آن از نوع باینری است و مقدار آن نیز توسط الگوریتم SHA1 و هش کردن آن به دست می آید و در این فیلد قرار می گیره.
این table رو در MySQL ساختم و به دستور help خود mysql به جای نوع باینری نوع char رو گذاشتم ولی هرکاری می کنم نمی تونم این فیلد رو به نوع باینری تبدیل کنم.

نمی دونم کسی از دوستان می تونه به یکی از دو طریق زیر به من کمک کنه.
راهی غیر از SHA1 که خروجی باینری تولید نکند و خروجی که MySQL قبول کنه رو تولید کنه معرفی کنه.
یا اینکه یه راهی برای ساختن فیلد باینری در MySQL نشون بده.

لازمه بگم که من برای کار با جداول در MySQL از Navicat استفاده می کنم ولی نمی دونم چرا نمی شه نوع فیلدهای Char رو در اون با تیک زدن گزینه Binary به نوع باینری تبدیل کرد.

در ضمن وقتی من با قطعه کد زیر پسور رو هش می کنم و در فیلد خودش در MySQL قرار می دهم همیشه مقدار System.Byte[] قرار می گیره.

UnicodeEncoding encoding = new UnicodeEncoding();
byte[] hashBytes = encoding.GetBytes( password );

SHA1 sha1 = new SHA1CryptoServiceProvider();
byte[] cryptPassword = sha1.ComputeHash( hashBytes );

cybercoder
سه شنبه 08 شهریور 1384, 11:55 صبح
معمولا از varchar برای hash کردن استفاده می شه تو Mysql فکر نمی کنم لزومی برای استفاده از باینری باشه