[13276] 2018-10-08_Android数据存储安全实践

文档创建者:s7ckTeam
浏览次数:4
最后更新:2025-01-18
2018-10-08_Android数据存储安全实践 A n d r o i d r o o t 0 0 1   F r e e B u f   2 0 1 8 - 1 0 - 0 8 0 x 0 0   A n d r o i d A n d r o i d A n d r o i d A n d r o i d A n d r o i d 0 x 0 1 A n d r o i d J a v a j a v a . I O . * A n d r o i d 1   A n d r o i d 2 / d a t a / d a t a / ( p a c k a g e N a m e ) / c a c h e   F i l e   c a c h e   =   g e t C a c h e D i r ( ) / d a t a / d a t a / ( p a c k a g e N a m e ) / f i l e s F i l e   f i l e   =   g e t F i l e s D i r ( ) / d a t a / d a t a / ( p a c k a g e N a m e ) / s h a r e d _ p r e f s S h a r e d P r e f e r e n c e / d a t a / d a t a / ( p a c k a g e N a m e ) / d a t a b a s e s S Q L i t e / s t o r a g e / e m u l a t e d / 0 / s d c a r d s d S t r i n g   s d c a r d   =   g e t I n n e r S D C a r d P a t h ( )
/ s t o r a g e / e x t S d C a r d s d S t r i n g   e x s d c a r d   = E n v i r o n m e n t . g e t E x t e r n a l S t o r a g e D i r e c t o r y ( ) . g e t P a t h ( ) A n d r o i d s d A n d r o i d s d / s d s d A n d r o i d s d A n d r o i d   S Q L i t e S Q L i t e   A C I D A n d r o i d S Q L i t e O p e n H e l p e r S Q L i t e O p e n H e l p e r S Q L i t e s q l i t e 3 . e x e S Q L i t e C o n n e c t i o n S Q L i t e E n c r y p t S Q L i t e C r y p t S Q L C i p h e r S Q L C i p h e r G i t H u b   S Q L C i p h e r S Q L i t e C o n n e c t i o n S h a r e d P r e f e r e n c e s S h a r e d P r e f e r e n c e s A n d r o i d , M a p x m l / d a t a / d a t a / ( p a c k a g e n a m e ) / s h a r e d _ p r e f s S h a r e d P r e f e r e n c e v a l u e J a v a B o o l e a n I n t F l o a t v a l u e G C A c t i v i t y 0 x 0 2   A n d r o i d D E S 3 D E S 3 D E S D E S 3 S Q L i t e C o n n e c t i o n   c o n n   =   n e w   S Q L i t e C o n n e c t i o n ( " D a t a   S o u r c e = T e s t D a t a b a s e . s q l i t e ; V e r s i o n = 3 ; " ) ;   c o n n . S e t P a s s w o r d ( " p a s s w o r d " ) ;   c o n n . o p e n ( ) ; S h a r e d P r e f e r e n c e s   p r e f   =   g e t S h a r e d P r e f e r e n c e s ( " t e s t " ,   M O D E _ P R I V A T E ) ;   S h a r e d P r e f e r e n c e s . E d i t o r   e d i t o r = p r e f . e d i t ( ) ;   S h a r e d P r e f e r e n c e s . E d i t o r   e d i t o r = p r e f . e d i t ( ) ; e d i t o r . p u t S t r i n g ( " n a m e " ,   " r o o t " ) ; / /   e d i t o r . p u t I n t ( " a g e " ,   1 2 ) ; / /   e d i t o r . c o m m i t ( ) ;   / / p u t X X X   k e y v a l u e S h a r e d P r e f e r e n c e s   p r e f   =   g e t S h a r e d P r e f e r e n c e s ( s e t t i n g ,   0 ) ; p r e f . g e t I n t ( " k e y _ n a m e " ,   - 1 ) ;   / /   g e t t i n g   I n t e g e r   p r e f . g e t F l o a t ( " k e y _ n a m e " ,   n u l l ) ;   / /   g e t t i n g   F l o a t   p r e f . g e t L o n g ( " k e y _ n a m e " ,   n u l l ) ;   / /   g e t t i n g   L o n g   / / g e t X X X k e y v a l u e / / D E S [ ]   e n c r y p t ( [ ]   d a t a , S t r i n g   k e y ) {           {                   [ ]   b k e y   =   k e y . g e t B y t e s ( ) ;                   / /   I v P a r a m e t e r S p e c   i v   =   I v P a r a m e t e r S p e c ( b k e y ) ;                   D E S K e y S p e c   d e s K e y   =   D E S K e y S p e c ( b k e y ) ;                   / /   D E S K e y S p e c s e c u r e k e y                   S e c r e t K e y F a c t o r y   k e y F a c t o r y   =   S e c r e t K e y F a c t o r y . g e t I n s t a n c e ( ) ;                   S e c r e t K e y   s e c u r e k e y   =   k e y F a c t o r y . g e n e r a t e S e c r e t ( d e s K e y ) ;                   C i p h e r   c i p h e r   =   C i p h e r . g e t I n s t a n c e ( ) ;                   / /   C i p h e r c i p h e r . i n i t ( C i p h e r . ,   s e c u r e k e y ,   i v ) ;                   / /                     / /   c i p h e r . d o F i n a l ( d a t a ) ;           }   ( T h r o w a b l e   e )   {                   e . p r i n t S t a c k T r a c e ( ) ;           }           ;   }
A E S   D E S / 使 R S A R S A m d 5 s h a - 2 5 6 h a s h b a s e 6 4 0 x 0 3   / / D E S [ ]   d e c r y p t ( [ ]   s r c ,   S t r i n g   k e y )   E x c e p t i o n   {           [ ]   b k e y   =   k e y . g e t B y t e s ( ) ;           / /   I v P a r a m e t e r S p e c   i v   =   I v P a r a m e t e r S p e c ( b k e y ) ;           / /   D E S K e y S p e c D E S K e y S p e c   d e s K e y   =   D E S K e y S p e c ( b k e y ) ;           / /   S e c r e t K e y F a c t o r y   k e y F a c t o r y   =   S e c r e t K e y F a c t o r y . g e t I n s t a n c e ( ) ;           / /   D E S K e y S p e c S e c r e t K e y S e c r e t K e y   s e c u r e k e y   =   k e y F a c t o r y . g e n e r a t e S e c r e t ( d e s K e y ) ;           / /   C i p h e r C i p h e r   c i p h e r   =   C i p h e r . g e t I n s t a n c e ( ) ;           / /   C i p h e r c i p h e r . i n i t ( C i p h e r . ,   s e c u r e k e y ,   i v ) ;           / /   c i p h e r . d o F i n a l ( s r c ) ;   } / / A E S   [ ]   e n c r y p t ( [ ]   d a t a ,   [ ]   k e y )   {           {                   K e y G e n e r a t o r   k g e n   =   K e y G e n e r a t o r . g e t I n s t a n c e ( ) ; / /   A E S K e y k g e n . i n i t ( 1 2 8 ,   S e c u r e R a n d o m ( k e y ) ) ; / /   1 2 8 k e y S e c r e t K e y   s e c r e t K e y   =   k g e n . g e n e r a t e K e y ( ) ; / /   k e y [ ]   e n C o d e F o r m a t   =   s e c r e t K e y . g e t E n c o d e d ( ) ; / /   S e c r e t K e y S p e c   a e s K e y   =   S e c r e t K e y S p e c ( e n C o d e F o r m a t ,   ) ; / /   A E S C i p h e r   c i p h e r   =   C i p h e r . g e t I n s t a n c e ( ) ; / /   c i p h e r . i n i t ( C i p h e r . ,   a e s K e y ) ; / /                     / /   c i p h e r . d o F i n a l ( d a t a ) ;           } ( N o S u c h A l g o r i t h m E x c e p t i o n   e ) {                   e . p r i n t S t a c k T r a c e ( ) ;           }   ( N o S u c h P a d d i n g E x c e p t i o n   e )   {                   e . p r i n t S t a c k T r a c e ( ) ;           } ( I n v a l i d K e y E x c e p t i o n   e )   {                   e . p r i n t S t a c k T r a c e ( ) ;           }   ( I l l e g a l B l o c k S i z e E x c e p t i o n   e )   {                   e . p r i n t S t a c k T r a c e ( ) ;           }   ( B a d P a d d i n g E x c e p t i o n   e )   {                   e . p r i n t S t a c k T r a c e ( ) ;           }           ;   } / / A E S   [ ]   d e c r y p t ( [ ]   d a t a ,   [ ]   k e y )   {           {                   K e y G e n e r a t o r   k g e n   =   K e y G e n e r a t o r . g e t I n s t a n c e ( ) ; / /   A E S K e y k g e n . i n i t ( 1 2 8 ,   S e c u r e R a n d o m ( k e y ) ) ;                   S e c r e t K e y   s e c r e t K e y   =   k g e n . g e n e r a t e K e y ( ) ; / /   [ ]   e n C o d e F o r m a t   =   s e c r e t K e y . g e t E n c o d e d ( ) ; / /   S e c r e t K e y S p e c   a e s K e y   =   S e c r e t K e y S p e c ( e n C o d e F o r m a t ,   ) ; / /   A E S C i p h e r   c i p h e r   =   C i p h e r . g e t I n s t a n c e ( ) ; / /   c i p h e r . i n i t ( C i p h e r . ,   a e s K e y ) ; / /                     / / c i p h e r . d o F i n a l ( d a t a ) ;               }   ( N o S u c h A l g o r i t h m E x c e p t i o n   e )   {                   e . p r i n t S t a c k T r a c e ( ) ;           }   ( N o S u c h P a d d i n g E x c e p t i o n   e )   {                   e . p r i n t S t a c k T r a c e ( ) ;           }   ( I n v a l i d K e y E x c e p t i o n   e )   {                   e . p r i n t S t a c k T r a c e ( ) ;           }   ( I l l e g a l B l o c k S i z e E x c e p t i o n   e )   {                   e . p r i n t S t a c k T r a c e ( ) ;           }   ( B a d P a d d i n g E x c e p t i o n   e )   {                   e . p r i n t S t a c k T r a c e ( ) ;           }           ;   } / /     p u b l i c   a n d   p r i v a t e   k e y s K e y P a i r   b u i l d K e y P a i r ( )   N o S u c h A l g o r i t h m E x c e p t i o n   {           k e y S i z e   =   2 0 4 8 ;           K e y P a i r G e n e r a t o r   k e y P a i r G e n e r a t o r   =   K e y P a i r G e n e r a t o r . g e t I n s t a n c e ( ) ;           k e y P a i r G e n e r a t o r . i n i t i a l i z e ( k e y S i z e ) ;           k e y P a i r G e n e r a t o r . g e n K e y P a i r ( ) ;   } / / R S A     [ ]   e n c r y p t ( P r i v a t e K e y   p r i v a t e K e y ,   [ ]   d a t a )   E x c e p t i o n   {           C i p h e r   c i p h e r   =   C i p h e r . g e t I n s t a n c e ( ) ;           c i p h e r . i n i t ( C i p h e r . ,   p r i v a t e K e y ) ;           / / c i p h e r . d o F i n a l ( d a t a ) ;   } / / R S A     [ ]   d e c r y p t ( P u b l i c K e y   p u b l i c K e y ,   [ ]   e n D a t a )   E x c e p t i o n   {           C i p h e r   c i p h e r   =   C i p h e r . g e t I n s t a n c e ( ) ;           c i p h e r . i n i t ( C i p h e r . ,   p u b l i c K e y ) ;           / / c i p h e r . d o F i n a l ( e n D a t a ) ;   }
A n d r o i d A n d r o i d   A n d r o i d . . / A n d r o i d s d c a r d 使     A n d r o i d J a v a J a v a d e x d e x s m a l i J a v a V M P J a v a N a t i v e s o 0 x 0 4   A n d r o i d A n d r o i d A n d r o i d r o o t 访 广 * r o o t 0 0 1 F r e e B u f . C O M
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则