论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[13276] 2018-10-08_Android数据存储安全实践
文档创建者:
s7ckTeam
浏览次数:
4
最后更新:
2025-01-18
IOT
4 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
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
阅
读
原
文
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页