Предисловие
В нашей разработке мы должны рассмотреть эту функцию. Когда пользователь забывает свой пароль, нам нужно динамически отправить ему 6-значный случайный пароль, с помощью мгновенных сообщений, SMS, WeChat и т. Д. В то же время исходный пароль в базе данных изменяется на эти 6-значные случайные пароли. Пусть пользователь снова изменит пароль.
В то же время пароль в базе данных должен храниться в виде зашифрованного текста, поэтому требуется шифрование MD5. Сгенерированный 6-значный случайный пароль должен быть конфиденциально и не может быть обработан на переднем плане, но может быть помещен только в бэкэнд. Поэтому я решил поместить его в контрольный слой
Пример кода
// Пауза в любом тексте, который необходимо зашифровать для шифрования для шифрования общедоступной статической строки getmd5 (строка строки) {try {messagedigest md = messagedigest.getinstance ("md5"); md.update (string.getbytes); байтовый хэш = 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) {бросить новое runtimeexception (e); }}Вот 32-разрядное шифрование, и разница между 16-битным и 32-битным состоит в том, что 16-битный-16-битный в середине 32-битной.
String password_ = string.valueof ((int) (math.random * 1000000)); if (empservice.updateemppassword (emp_id_, baseutils.getmd5 (password_), operator) == 0) {бросить новое runtimeexception («Не удалось генерировать случайное пароль!»); } String xele = "<sendmessage> <am_name>" + emp_code_ + "</am_name> <phonenum> </phonenum> <userId> </userId> <sonsageTxt> Новый пароль для вашей официальной системы управления документами:" + password_ + "</messagetxt> <systemNam PASS </type> <cescess> </access> <mail> </email> <sisback> </isback> <sencrypt> </isencrypt> <ispriority> </ispriority> <ohter1> </ohter1> <ohter2> </ohter2> </sendmessage> <br/> ";Затем вызовите зарезервированный интерфейс мгновенного сети
instancemsgservice.amtomessifcheck (xele, null, оператор);
Примечание. В основном это зависит от того, как использовать шифрование MD5 в бэкэнд Java! !
Заключение
Вышеупомянутое дело о реализации методов шифрования MD5 на бэкэнд Java. Я надеюсь, что эта статья будет полезна всем, чтобы выучить Java. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения. Спасибо за поддержку Wulin.com.