MySql μ PASSWORD ν¨μλ ν΄μκ°μ κ³μ°ν λ¬Έμμ΄μ λ°ννλ ν¨μμ λλ€.
λΉλ°λ²νΈλ₯Ό μ²λ¦¬ν λ λ§μ΄ μ¬μ©λ©λλ€. μ€μ μλ²μ κ³μ λΉλ°λ²νΈλ PASSWORD ν¨μλ₯Ό μ¬μ©ν΄μ μ²λ¦¬νκ² λ©λλ€.
μ£Όμ ν΄μκ° κ³μ°λ κ°μ΄ 4.1.0 μ΄μ λ²μ κ³Ό 4.1.1 μ΄ν λ²μ μ΄ λ€λ¦ λλ€. Password Hashing in MySQL νμ΄μ§ μ°Έμ‘°νμμμ€.
4.1.1 μ΄ν λ²μ μμ PASSWORD ν¨μ κ²°κ³Όλ μλμ κ°μ΅λλ€. κ²°κ³Όλ λ¬Έμμ΄μ λλ€.
MYSQL> select password('hello');
κ²°κ³Ό
*6B4F89A54E2D27ECD7E8DA05B4AB8FD9D1D8B119
PASSWORD ν¨μμ λμμ λν λ΄μ©μ HASHING ALGORITHM IN MYSQL PASSWORD() νμ΄μ§μμ μ°Ύμ μ μμ΅λλ€.
μ λ§ν¬ νμ΄μ§μ λ΄μ©μμλ μλμ κ°μ΄ λμΌν κ°μ μ»μ μ μλ€κ³ ν©λλ€.
MYSQL> select password('hello') as result
union all
select concat('*', convert(sha1(unhex(sha1('hello'))) USING utf8));
*6B4F89A54E2D27ECD7E8DA05B4AB8FD9D1D8B119
*6b4f89a54e2d27ecd7e8da05b4ab8fd9d1d8b119
password ν¨μλ sha1 ν΄μ κ°μ λ€μ sha1 ν΄μ κ°μ κ³μ°ν κ°μ λ¬Έμμ΄λ‘ νννκ³ , β*
β μ μμ λΆμΈ κ²κ³Ό λμΌν©λλ€.
κΈ°μ‘΄ μμ€ν μ΄ MySql λ‘ μ΄μλκ³ μμ λ, μ΄λ₯Ό λ€λ₯Έ DBMSλ‘ μ΄κ΄μ ν΄μΌνλ©΄ λ¬Έμμ΄μ κ·Έλλ‘ μ΄κ΄νκ³ , PASSWORD ν¨μμ λμΌν λμμ ν μ μλ ν΄μ ν¨μλ₯Ό μμ±ν΄μ μ²λ¦¬ν μ μμ΅λλ€.
public string GenerateMySQLHash(string key)
{
byte[] keyArray = Encoding.UTF8.GetBytes(key);
SHA1Managed enc = new SHA1Managed();
byte[] encodedKey = enc.ComputeHash(enc.ComputeHash(keyArray));
StringBuilder myBuilder = new StringBuilder(encodedKey.Length);
foreach (byte b in encodedKey)
{
myBuilder.Append(b.ToString("X2"));
}
return "*" + myBuilder.ToString();
}
GenerateMySQLHash('hello');
κ²°κ³Ό
*6B4F89A54E2D27ECD7E8DA05B4AB8FD9D1D8B119