TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
9 \' f' s) B( d- import java.util.Date;; b7 i* B/ B3 n# n+ K8 Y% m, K. A
% K1 x$ |5 k* b5 d$ f( O-
2 @& j+ r4 J0 W6 E& c - ( I( O% a2 v4 }+ a$ |' y. B, A7 z
- import org.slf4j.Logger;
8 |9 r6 E7 Z8 n/ m) w+ U7 ^
x4 }6 a# i6 Q; h2 s: E- import org.slf4j.LoggerFactory;
a$ @7 |/ v/ T - & }1 d9 w' C! _5 e% t0 o
- import org.apache.commons.codec.binary.Base64;3 ^/ E3 X, P( s( ~
- - I7 k/ b2 F0 R( N- ^2 M P
-
5 v! [, E% s' O - ; e3 @, m0 i4 T
- public class Base64Helper {3 P$ K' h3 F; u) ~, d# }: B7 _
% _3 x1 D3 M+ @# y/ D6 B$ X- private static final Logger logger = LoggerFactory.getLogger(Base64Helper.class);
- C' v+ G0 g! j+ ^, ~( r' Q - - ?+ a+ w0 d: ~
-
4 Z! u6 _* j# ?. L
# J% h9 j. ^$ @, N- /**
/ w: i! g6 G" [9 S
. u J" t* J/ M8 B' v8 q- * BASE64解密1 K$ x- M* I7 H3 E/ k6 I# B( ?! K
6 @2 X+ f }! d1 w7 w: e- *
1 i1 ?6 d8 I! P' v4 a - . S5 Z+ O: v: A8 e+ U
- * @param key
$ Z, I( v: v+ I3 S, c% h
* t, @- d; K/ e- * @return3 q1 z1 ]; i9 ]6 S$ r5 b
- 6 N# Z9 I# A m9 {: G" g
- * @throws Exception9 C- x$ Z+ ^6 W- Q/ ?
( ^8 T0 F% t- o' d- */9 _- {- Q& Y% K$ M% s0 t" m
- 5 _4 W2 t$ A2 a3 u& u8 ?: d
- public static String decryptBase64(String key) throws Exception{
6 l, ~2 p; v8 j" o4 Z6 a. Q' t - ) E S. X4 w3 v7 u" s3 F$ A. g, h
- key = key.replace("-", "/"); //解决URL参数带/问题。# p/ R- n/ a) H
" U" Y. X$ P+ m* u0 c) m- byte[] byteArray=Base64.decodeBase64(key); // decryptBASE64(key);& i% U0 M9 G7 k" g& B$ |: O* `) [
* B. U& S! @9 D" O0 u- String code = new String(byteArray);, n1 ?* n+ ]4 ?" u& t9 O" Z
- ' w& y6 ^( n q f; a$ i; x) R
- logger.debug(" decrypt code:{} ",code);: J4 i! @% V- n | R
- ~6 ]* V, P9 m/ ~- return code;
$ K" v/ e7 e1 ?: U+ m8 e8 L
/ J0 @& u+ O( H! ]7 a6 X( b-
% Z, }, J/ ?7 O, N% z
; F7 e/ x& t o0 K+ G- } : [; ?9 i! s% ?8 F; s
- % B% s% ^ Q8 h8 \$ L% w) l
- //
; @/ X* Z! f9 s9 v. |/ N - ; K, ?$ X" E- d3 u/ h3 W2 }
-
7 t, m' }$ u' {& A
. s* f8 |6 A) ], h' ?* N; D: d- /**
8 Q w ?% v6 @( W" ^8 {/ D* r
" d" O# L% e1 @- g/ j. C- * BASE64加密
0 ~0 e3 o' @2 v S; x - 6 ^# L1 R1 {4 ^0 {% s+ K* ]8 Q
- *
& w" }+ q4 F; X2 i
8 j$ z+ w0 g6 s. a, h3 e- * @param key/ g, I( Q& B' L& `/ m+ d
3 z$ j/ r& B$ `' e, E- * @return
9 W) N$ Z" \0 t- b% a- i
. A9 o! `+ D5 n P: C- * @throws Exception
5 m* y: W3 H9 w1 U( [: v4 u2 ` - % u& R& D a$ T! l% g6 O; p
- */
: c4 @+ d. P6 H* ~' N- L, \
" @/ o# O! l: X2 Q/ ^# n5 n- public static String encryptBase64(String key) throws Exception {
B+ `" x' v/ {% n% e- B - ( M9 s/ L$ {+ h8 o+ G
- byte[] binaryData = key.getBytes();
_+ K+ \' j- W1 }" i; s
+ m# \8 n, H# l- String code = Base64.encodeBase64String(binaryData); //encryptBASE64(byteArray);
; e. x3 F H9 Y7 U! a
: w/ E" a9 x2 b- W" P7 K9 r4 {; b- logger.debug(" encrypt code:{} ",code);: z2 u6 s8 r4 w1 q `: J
3 e" ^' T+ c- K0 _3 _" D1 C- return code.replace("/", "-");//解决URL参数带/问题。. p' k; y! Q: C: g5 p% G9 }, g
- 8 }7 i M$ l# }
- }4 O2 S R1 E. d6 h
2 S& g/ u. H. q* J% M- [0 `- public static void main(String[] args) throws Exception {: \+ c$ D k$ ?
- 1 _1 ^( `& ?) j# O+ e- b
- Date startTime = new Date();
+ {" i6 O L; R- w0 q. w
4 }9 l) g# T9 y- //BASE64加密
. @/ _) y$ K- R$ P9 g
( U) L. C1 O y5 j; F0 s1 U: b- String code = encryptBase64("MP3/Mp4");# x. w% j" a) n3 r) V8 y4 y
- " X+ K2 u. z, a! b
- logger.debug("BASE64加密:{}",code); : A) ^) k: r0 I9 P( I
- 1 U; f- _3 f, `9 `# l9 q1 T
- String key = decryptBase64(code);
/ q0 \7 J9 }' N& d - 6 Z' C2 m- g' x+ A8 U
- logger.debug("BASE64解密:{}",key);2 t8 \' v' l; t+ Z9 [. R
6 d3 _+ Y3 q% {+ j; ?' c+ t- Date endTime = new Date(); 6 I9 y6 l7 D0 w' d* W$ Q; F0 J
0 k9 R. h2 B# a0 Y- long diff = endTime.getTime() - startTime.getTime();
0 \# x0 M, n7 k+ j6 K9 e$ h - , h- f. U, K% Y* P$ t) ~
- long days = diff;// / (1000 * 60 * 60 * 24);
3 m2 E7 m B7 F9 U% ]& X, K - 8 C) g( C8 m# D# L2 r
- logger.debug("time:{}",days);9 x$ p* Y% z3 d1 U2 Z" e' H3 E
. _% [5 [) g9 b7 L) v- }
4 z6 V" }) U1 d) Q+ z - 3 o" U8 d$ C* M0 c
- }
复制代码 : R8 ?2 O8 l& z0 u, ^
& U% U" v3 u2 I+ [9 A& t |
|