0
点赞
收藏
分享

微信扫一扫

HarmonyOS实战开发-关键资产存储服务、如何实现实现对敏感数据的保存、更新、查询、删除操作。

介绍

本示例使用@kit.AssetStoreKit相关接口实现了对敏感数据的保存、更新、查询、删除操作。

实现场景如下:

1)用户使用本应用保存密码或信用卡号。

2)用户更新本应用管理的密码或信用卡号。

3)用户查询本应用管理的密码或信用卡号。

4)用户删除本应用管理的密码或信用卡号。

效果预览

HarmonyOS实战开发-关键资产存储服务、如何实现实现对敏感数据的保存、更新、查询、删除操作。_鸿蒙应用开发

使用说明:

  • 保存敏感数据:
  • 输入账号、密码、标签,其中标签可以填写多个,但不超过4个
  • 点击“保存”按钮
  • 删除敏感数据,可使用以下任意一种方式删除:
  • 批量删除:不输入任何信息,或输入单个或多个标签),点击“删除”按钮
  • 单个删除:输入账号、标签(可选),点击“删除”按钮
  • 更新敏感数据:
  • 点击标题栏的“更新”,进入更新页面
  • 在显示的账号列表中,点击待更新的账号
  • 输入锁屏密码,进入编辑界面
  • 输入更新后的密码和标签,点击“更新”
  • 查询敏感数据,可使用以下任意一种方式删除:
  • 批量查询:不输入任何信息,或输入单个或多个标签),点击“查询”按钮,显示保存的信息列表,不含“密码/信用卡号”
  • 单个查询:输入账号、标签(可选),点击“查询”按钮,输入锁屏密码,显示该账号详细信息,含“密码/信用卡号”

工程目录

entry/src/main/ets/
|---entryAbility
|   |---EntryAbility.ts
|---model
|   |---AssetModel.ets                     // 关键资产存储模型文件
|---pages
|   |---Index.ets                          // 主页面
|   |---QueryResultPage.ets                // 查询结果界面
|   |---UpdatePage.ets                     // 更新页面

具体实现

本应用分为四个主页面:保存、删除、更新、查询,通过TabBuilder组件实现页面直接的切换。

  • 保存页面:解析用户输入的账号、密码、标签信息,传入@kit.AssetStoreKit提供的add接口,从而实现将短敏感数据存储到关键资产存储服务中。
  • 删除页面:解析用户输入的账号、标签信息,传入@kit.AssetStoreKit提供的remove接口,删除满足条件的短敏感数据。
  • 更新页面

1)调用@kit.AssetStoreKit提供的query接口,查询关键资产中存储的全量账号。

2)调用@kit.AssetStoreKit提供的preQuery接口,将返回的challenge传给@kit.UserAuthenticationKit提供的on接口。

3)待用户输入锁屏密码后,将onResult接口返回的AuthToken传给@kit.AssetStoreKit提供的query接口,用以查询旧的敏感数据明文。

4)解析用户输入的账号、标签信息,传入@kit.AssetStoreKit提供的update接口,更新关键资产存储服务中存储的敏感数据。

5)退出更新界面时,调用@kit.AssetStoreKit提供的postQuery接口清理资源

  • 查询页面

用户未输入账号:

解析用户输入的标签信息,传入@kit.AssetStoreKit提供的query接口,查询关键资产存储服务中存储的账号、标签。

用户输入了账号:

1)调用@kit.AssetStoreKit提供的preQuery接口,将返回的challenge传给@kit.UserAuthenticationKit提供的on接口。

2)待用户输入锁屏密码后,将onResult接口返回的AuthToken、用户输入的账号、标签信息传给@kit.AssetStoreKit提供的query接口,用以查询敏感数据明文。

3)调用@kit.AssetStoreKit提供的postQuery接口清理资源。

相关权限

ohos.permission.ACCESS_BIOMETRIC

ohos.permission.STORE_PERSISTENT_DATA

依赖

不涉及

约束与限制

1.本示例仅支持标准系统上运行。

2.本示例支持API11版本SDK,SDK版本号(API Version 11 Release), 镜像版本号(4.1Release)。

3.本示例需要使用DevEco Studio版本号(4.1Release)及以上版本才可编译运行。

4.本示例需要在设备设置锁屏密码后使用。其中,更新、查询结果页面输入锁屏密码方可进入。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/BasicFeature/Security/Asset/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

举报

相关推荐

0 条评论