Here you go. Use BeanShell to get the dynamic data and put them back into the global Hash-Map can solve your problems.
Timestamp
Getting timestamp in seconds, you can just use the global suger function __time() in Add -> Config Element -> User Defined Variables.
For example,
${__time(/1000)}Or use Java API:
java.util.Date date= new java.util.Date(); vars.put("myTime", (new java.sql.Timestamp(date.getTime()).getTime()/1000).toString());
SHA-1
Use vars.get("key") to get your value from "User Defined Variables" and use vars.put("key", "value") to put your value into the global Hash-Map.
import java.security.MessageDigest; String encryptAlgo = "SHA-1"; String originalString = vars.get("appId")+vars.get("appKey"); MessageDigest msgDgst = MessageDigest.getInstance(encryptAlgo); byte[] mdbytes = new byte[40]; msgDgst.update(originalString.getBytes(), 0, originalString.length()); mdbytes = msgDgst.digest(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < mdbytes.length; i++) { sb.append(Integer.toString((mdbytes[i] & 0xff) + 0x100, 16).substring(1)); } vars.put("encrytedString", sb.toString());
留言
張貼留言