LTPA Key 解码器,用于和 IBM 产品做 SSO 集成
示例:
String tokenCipher = "1eDYcavQCLHppG9P6MHRADcy/igN1W+NbsPULYoFvtlbxET8FrOmSMcDuv+sG8ko6aRvT+jB0QA3Mv4oDdVvjW7D1C2KBb7Zjn32Ii/2xM36H49UdvWDMJ0WaoW9EjKlhAq6FH+a4P98Ia/epi1OI8xx294AOriuHlxethzEvQQTZCfEGFr4ntywXWx8D1ZVXTPfd7sxNiryYvJ1bCgmuou2ouyY1voUH6rim4w+FWdCF+5YPEazAP788ubY3qVHzOxi2zFcOsBqhiK8wsyc9Pr4GFLrZ2YfNCsMxDDGF2/rgnIZDoTQaye4AUUiNG0BoMyL6mNrmtf3PZHOBvB3SGLUTSghFlP0";
String ltpa3DESKey = "yqaM5KH6fQhPRjuwFTlVWoJrHdYXOHNHp7ji+BJPSDM=";
String ltpaPassword = "password";
try {
LtpaDecoder t = new LtpaDecoder(tokenCipher, ltpa3DESKey, ltpaPassword);
System.out.println("UserInfo: " + t.getUserInfo());
System.out.println("Username: " + t.getUsername());
System.out.println("Expiry: " + t.getExpiryDate());
System.out.println("Signature: " + t.getSignature());
System.out.println("Full token: " + t.getFullToken());
} catch (Exception e) {
e.printStackTrace();
}
The shared 3DES key is itself encrypted using the SHA hash value of the LTPA
password (padded with 0x0 upto 24 bytes).
Constructor and description |
---|
LtpaDecoder
(String ltpa3DESKey, String ltpaPassword) @param ltpa3DESKey |
LtpaDecoder
(String token, String ltpa3DESKey, String ltpaPassword) @param token |
Type | Name and description |
---|---|
void |
decode(String token) @param token |
static byte[] |
decodeBase64(byte[] sArr) Base64解码 |
Date |
getExpiryDate() |
String |
getFullToken() |
String |
getSignature() |
String |
getUserInfo() |
String |
getUsername() |
boolean |
isExpired() |
static void |
main(String[] args) JDK一些自带的方法 http://www.rgagnon.com/javadetails/java-0598.html MimeUtility的性能比apache codec慢三倍的样子,但影响极小(10w次循环也就120~130ms的样子),先用它了 而BASE64Decoder,有问题,解码后可能会多出一位,没法用 另外一个very fast的库,能直接处理文件,未测试 http://iharder.sourceforge.net/current/java/base64/ MiGBase64 http://migbase64.sourceforge.net/ A very fast Base64 Codec written in Java. |
Methods inherited from class | Name |
---|---|
class Object |
Object#wait(long), Object#wait(long, int), Object#wait(), Object#equals(Object), Object#toString(), Object#hashCode(), Object#getClass(), Object#notify(), Object#notifyAll() |
Base64解码
JDK一些自带的方法 http://www.rgagnon.com/javadetails/java-0598.html MimeUtility的性能比apache codec慢三倍的样子,但影响极小(10w次循环也就120~130ms的样子),先用它了 而BASE64Decoder,有问题,解码后可能会多出一位,没法用 另外一个very fast的库,能直接处理文件,未测试 http://iharder.sourceforge.net/current/java/base64/ MiGBase64 http://migbase64.sourceforge.net/ A very fast Base64 Codec written in Java. It is currently faster than any other Java codecs I know of and it doesn't create any temporary arrays which many others do. 直接写在这里好像有问题,先不用了!
BROPEN Documentation, 2015-08-08 15:56