序文
私たちの開発では、この機能を考慮する必要があります。ユーザーがパスワードを忘れたとき、インスタントメッセージング、SMS、WeChatなどを介して、6桁のランダムパスワードを動的に送信する必要があります。同時に、データベースの元のパスワードがこれらの6桁のランダムパスワードに変更されます。ユーザーにパスワードをもう一度変更させます。
同時に、データベース内のパスワードは暗号文として保存する必要があるため、MD5暗号化が必要です。生成された6桁のランダムパスワードは、機密を保持する必要があり、前景で処理することはできませんが、バックエンドにのみ配置することはできません。だから私はそれを制御層に置くことを選んだ
サンプルコード
//暗号化の暗号化のために暗号化する必要があるテキストで一時停止しますpublic static string getmd5(string string){try {mesagedigest md = mesaged.getinstance( "md5"); md.update(string.getBytes); byte hash = md.digest; stringbuffer sb = new StringBuffer; int i = 0; for(int offset = 0; offset <hash.length; offset ++){i = hash [offset]; if(i <0){i += 256; } if(i <16){sb.append( "0"); } sb.append(integer.tohexstring(i)); } sb.toStringを返します。 } catch(nosuchalgorithmexception e){新しいruntimexception(e); }}ここに32ビットの暗号化があり、16ビットと32ビットの違いは、16ビットが32ビットの中央の16ビットであることです。
string password_ = string.valueof((int)(math.random * 1000000)); if(empservice.updateemppassword(emp_id_、baseutils.getmd5(password_)、operator)== 0){throw new runtimexception( "ランダムパスワード生成が失敗!"); } string xele = "<sendmessage> <am_name>" + emp_code_ + "</am_name> <phonenum> </phoneNum> <userId> </userId> <messagetxt>公式ドキュメント管理システムの新しいパスワードは:" + password_ + "</messagetxt> <systemname> <systemname </systemname </systemname> </systemname>パス</type> <アクセス> </access> <メール> </email> <isback> </isback> <isencrypt> </isencrypt> <ispriority> </ispriority> <ohter1> </ohter1> <ohter2> </ohter2> </sendmessage> <br/> ";次に、インスタントネットワーク予約インターフェイスを呼び出します
instancemsgservice.amtomessifcheck(xele、null、operator);
注:主に、JavaバックエンドでMD5暗号化の使用方法に依存します! !
結論
上記は、JavaバックエンドにMD5暗号化方法を実装することです。この記事がJavaを学ぶのに役立つことを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることができます。 wulin.comへのご支援ありがとうございます。