sql >> データベース >  >> RDS >> Mysql

Mysqlパスワードハッシュ方式の新旧

    条件によっては、「新しいハッシュアルゴリズムパスワード」を設定して使用できる場合があります。
    MySQL4.1以降のサーバーは両方のログインアルゴリズムを処理できます。どちらを使用するかは、old-passwords変数から独立しています。 MySQLが*で始まる41文字の長さのハッシュを検出すると、新しいシステムを使用します。また、PASSWORD()関数は両方のアルゴリズムを使用することもできます。フィールドmysql.user.Passwordが41文字を格納するのに十分な幅であり、old-passwords変数が0の場合、「新しい」パスワードが作成されます。old_passwordsのドキュメント Variable Scope Bothと言います そのため、セッションに合わせて変更できる場合があります。
    MySQLサーバーに接続します(グローバルなold_passwords =1にもかかわらず変更できるクライアントを使用)。例: HeidiSQL 次のことを試してください:

    SET SESSION old_passwords=0;
    SELECT @@global.old_passwords,@@session.old_passwords, Length(PASSWORD('abc'));
    

    1, 0, 41を出力する場合 (グローバルold_passwordsはオンですが、セッションではオフで、PASSWORD()が「新しい」パスワードを返したことを意味します)新しいパスワードを設定 同じセッション内でアカウントに新しいアルゴリズムを使用します。

    しかし、dreamhostが本当に新しいパスワードアルゴリズムを無効にしたい場合、mysql.user.Passwordフィールドの長さは41文字未満になり、あなたは何もありません。 それについてできる(彼らをしつこくすることを除いて)。



    1. クエリ、ストアドプロシージャ、およびトリガー用のSQLServerパフォーマンスインジケーターの実装

    2. テストのためにMySQLインスタンスを失敗またはクラッシュさせる方法

    3. Oracleのデフォルトの日付形式はYYYY-MM-DDですが、なぜですか?

    4. MySQLのTOPに代わるものはありますか?