• Home
Name Date Size #Lines LOC

..--

AppScope/22-Oct-2025-3532

entry/22-Oct-2025-2,7912,603

hvigor/22-Oct-2025-1919

screenshots/22-Oct-2025-

.gitignoreD22-Oct-2025131 1211

README_zh.mdD22-Oct-20255.3 KiB11077

build-profile.json5D22-Oct-20251.1 KiB4341

hvigorfile.tsD22-Oct-2025240 75

hvigorwD22-Oct-20252.1 KiB6328

hvigorw.batD22-Oct-20252.2 KiB7859

oh-package.json5D22-Oct-2025901 2927

ohosTest.mdD22-Oct-20251.2 KiB119

README_zh.md

1# 关键资产存储服务
2## 介绍
3本示例使用[@kit.AssetStoreKit](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/security/AssetStoreKit)相关接口实现了对敏感数据的保存、更新、查询、删除操作。
4
5实现场景如下:
6
71)用户使用本应用保存密码或信用卡号。
8
92)用户更新本应用管理的密码或信用卡号。
10
113)用户查询本应用管理的密码或信用卡号。
12
134)用户删除本应用管理的密码或信用卡号。
14
15## 效果预览
16| **保存页面** | **删除页面** | **更新列表页面** | **更新编辑页面** |
17|---------|----------|------------|----------|
18|![](screenshots/save.jpeg)|![](screenshots/delete.jpeg)|![](screenshots/update_list.jpeg)|![](screenshots/update_edit.jpeg)|
19| **查询页面** | **批量查询结果页面** | **单个查询结果页面** |
20![](screenshots/query.jpeg)|![](screenshots/batch_query_result.jpeg)|![](screenshots/single_query_result.jpeg)|
21
22使用说明:
23* 保存敏感数据:
24  * 输入账号、密码、标签,其中标签可以填写多个,但不超过4个
25  * 点击“保存”按钮
26
27* 删除敏感数据,可使用以下任意一种方式删除:
28  * 批量删除:不输入任何信息,或输入单个或多个标签),点击“删除”按钮
29  * 单个删除:输入账号、标签(可选),点击“删除”按钮
30* 更新敏感数据:
31  * 点击标题栏的“更新”,进入更新页面
32  * 在显示的账号列表中,点击待更新的账号
33  * 输入锁屏密码,进入编辑界面
34  * 输入更新后的密码和标签,点击“更新”
35* 查询敏感数据,可使用以下任意一种方式删除:
36  * 批量查询:不输入任何信息,或输入单个或多个标签),点击“查询”按钮,显示保存的信息列表,不含“密码/信用卡号”
37  * 单个查询:输入账号、标签(可选),点击“查询”按钮,输入锁屏密码,显示该账号详细信息,含“密码/信用卡号”
38
39## 工程目录
40```
41entry/src/main/ets/
42|---entryAbility
43|   |---EntryAbility.ts
44|---model
45|   |---AssetModel.ets                     // 关键资产存储模型文件
46|---pages
47|   |---Index.ets                          // 主页面
48|   |---QueryResultPage.ets                // 查询结果界面
49|   |---UpdatePage.ets                     // 更新页面
50```
51## 具体实现
52本应用分为四个主页面:保存、删除、更新、查询,通过TabBuilder组件实现页面直接的切换。
53* **保存页面**:解析用户输入的账号、密码、标签信息,传入@kit.AssetStoreKit提供的add接口,从而实现将短敏感数据存储到关键资产存储服务中。
54
55* **删除页面**:解析用户输入的账号、标签信息,传入@kit.AssetStoreKit提供的remove接口,删除满足条件的短敏感数据。
56
57* **更新页面**:
58
59    1)调用@kit.AssetStoreKit提供的query接口,查询关键资产中存储的全量账号。
60
61    2)调用@kit.AssetStoreKit提供的preQuery接口,将返回的challenge传给@kit.UserAuthenticationKit提供的on接口。
62
63    3)待用户输入锁屏密码后,将onResult接口返回的AuthToken传给@kit.AssetStoreKit提供的query接口,用以查询旧的敏感数据明文。
64
65    4)解析用户输入的账号、标签信息,传入@kit.AssetStoreKit提供的update接口,更新关键资产存储服务中存储的敏感数据。
66
67    5)退出更新界面时,调用@kit.AssetStoreKit提供的postQuery接口清理资源
68
69* **查询页面**:
70
71    用户未输入账号:
72
73    解析用户输入的标签信息,传入@kit.AssetStoreKit提供的query接口,查询关键资产存储服务中存储的账号、标签。
74
75    用户输入了账号:
76
77    1)调用@kit.AssetStoreKit提供的preQuery接口,将返回的challenge传给@kit.UserAuthenticationKit提供的on接口。
78
79    2)待用户输入锁屏密码后,将onResult接口返回的AuthToken、用户输入的账号、标签信息传给@kit.AssetStoreKit提供的query接口,用以查询敏感数据明文。
80
81    3)调用@kit.AssetStoreKit提供的postQuery接口清理资源。
82
83## 相关权限
84[ohos.permission.ACCESS_BIOMETRIC](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionaccess_biometric)
85
86[ohos.permission.STORE_PERSISTENT_DATA](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionstore_persistent_data)
87
88## 依赖
89不涉及
90
91## 约束与限制
921.本示例仅支持标准系统上运行。
93
942.本示例支持API11版本SDK,SDK版本号(API Version 11 Release), 镜像版本号(4.1Release)。
95
963.本示例需要使用DevEco Studio版本号(4.1Release)及以上版本才可编译运行。
97
984.本示例需要在设备设置锁屏密码后使用。其中,更新、查询结果页面输入锁屏密码方可进入。
99
100## 下载
101如需单独下载本工程,执行如下命令:
102
103```
104git init
105git config core.sparsecheckout true
106echo code/BasicFeature/Security/Asset/ > .git/info/sparse-checkout
107git remote add origin https://gitee.com/openharmony/applications_app_samples.git
108git pull origin master
109
110```