$signDetails = [
strrev($email),
$this->cfg->getPassword(),
$order,
strrev(substr($card, 0, 6) . substr($card, -4))
];
return md5(strtoupper(implode(’’, $signDetails)));
Если честно, задача без деталей не особо понятная. Перечитываем Ответы на вопросы - automated-testing.info если хотите чтобы вам кто-то помог.
Тема и содержимое вопросов
Создаваемый контент на сайте должен быть информативным. Т.е. это означает, что:
Название темы полностью описывает проблему\вопрос
Выбрана верная категория для темы
В теле темы есть описания,
в чем состоит проблема,
указание ссылок на данные или сайт или программу, которые вы используете\тестируете
какую ошибку вы получили,
как ее вы решали,
пример кода, который работает или не работает
и ключевой вопрос в чем вы не можете разобраться.
Как только вы решили свою проблему\вопрос, опишите решение, чтобы другие участники сообщества могли использовать ваши наработки. Таким образом, мы накапливаем знания и экспертизу и можем к ней обращаться впоследствии.
Если Вы будете следовать этим простым правилам, то ответы на ваши вопросы\проблемы Вы найдете очень быстро. Так что старайтесь всегда быть предельно точными и информативными при создании контента.
Прочитайте для начала что-то типа джава сервер фэйсес ну или что-нибудь о бинах
Вот это надо подключить:
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.lang.StringUtils;
Сам код (я не заворачивал его ни в какую структуру, так как не знаю, в каком виде вам это надо):
…
String email = "";
String password = "";
String order = "";
String card = "";
String content = String.format("%s%s%s%s%s",
StringUtils.reverse(email),
password,
order,
StringUtils.reverse(card.substring(card.length() - 4)),
StringUtils.reverse(card.substring(0, 6)));
byte data[] = org.apache.commons.codec.digest.DigestUtils.md5(content);
char md5Chars[] = Hex.encodeHex(data);
String resultMD5Code = String.valueOf(md5Chars);
Только присвойте значения переменным email, password, order, card
Спасибо
я уже сам написал и “revers” говорило что не может найти такой метод пришлось самому сделать вот что получилось
String order = "";
String pass = "";
String card = "";
String sub1 = card.substring(0,6);
String sub2 = card.substring(card.length()-4);
String sub_result =sub1+sub2;
sub_result = MString.revers(sub_result);
String[] sign = {pass,order,sub_result};
StringBuilder sb = new StringBuilder();
for (String s : sign){
sb.append(s);
}
String sd = sb.toString();
System.out.println(sd);
sd = sd.toLowerCase();
System.out.println(MD5(sd));