J'ai inclus
dans l'application gradle
compile 'org.apache.commons:commons-lang3:3.0'
dans le programme, j'ai inclus
-keep class org.apache.commons.lang3.StringUtils*
mais lorsque l'application essaie d'accéder à StringUtils.rightPad(), elle lance une exception en disant
java.lang.NoSuchMethodError: org.apache.commons.lang3.StringUtils.a
Code associé
public static String getSignedData(String data) {
int blockSize = 64;
byte[] key = StringUtils.rightPad(ApplicationConst.getCheckoutAccessKey(), blockSize, (char) 0x00).getBytes();
byte[] iPad = StringUtils.repeat((char) 0x36, blockSize).getBytes();
byte[] oPad = StringUtils.repeat((char) 0x5c, blockSize).getBytes();
byte[] stage1 = hashMessage(concatenate(xor(key, iPad), data.getBytes()));
byte[] stageFinal = hashMessage(concatenate(xor(key, oPad), stage1));
return bytesToHex(stageFinal);
}