iOS保存密码之钥匙串操作以及UDID设备唯一标识符获取的替代方法_ios 钥匙串 udid-程序员宅基地

技术标签: 密码  keychain  iOS  UUID  UDID  

GitHub项目网址:https://github.com/mlibai/XZKeychain

保存密码是App项目中的常见问题,保存到 NSUserDefaults 中,显然不安全,也容易丢失。

钥匙串是Mac和iOS系统中的内置的保存密码方式,不会因为删除App而丢失,支持夸组访问。

但是原生的API太过难操作,网上虽然已经有人封装了相关的API,但总觉得不够明确,且自由度不够,于是花了点时间彻底研究了一下,封装了一个类 XZKeychain 。

下面只是关于保存密码的简单使用,完整的示例已经上传到GitHub,欢迎大家提意见共同交流!


    // 获取设备唯一标识符
    NSLog(@"设备唯一标识符:%@", [XZKeychain deviceIdentifier]);
    
    // 存取密码的简单方法:

    // 保存密码
    if ([XZKeychain setPassword:@"aPassword" forAccount:@"anAccount" identifier:@"anIdentifier"]) {
        NSLog(@"密码保存成功");
    }
    
    // 读取密码
    NSString *password = [XZKeychain passwordForAccount:@"anAccount" identifier:@"anIdentifier"];
    if (password != nil) {
        NSLog(@"获取成功,密码为:%@", password);
    }
    
    // 删除密码
    if ([XZKeychain setPassword:nil forAccount:@"anAccount" identifier:@"anIdentifier"]) {
        NSLog(@"删除成功");
    }


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mlibai/article/details/51799576

智能推荐

UIpath2021.10下载、安装、激活_uipath怎么激活-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏6次。uipath激活_uipath怎么激活

DELL 7080MFF 黑苹果安装,优化_7080mff m2网卡-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏10次。基本配置配置:dell 7080MFF (低压版)CPU:10700T内存:16 + 16硬盘:KIOXIA NVME 256GB ,MacKIOXIA-EXCERIA SATA SSD,DataKIOXIA-EXCERIA NVME 512,Win0WIFI:苹果拆机网卡+转接板(直接免驱),转接板需要屏蔽针脚屏幕:DELL UP2516D1. 安装主要参照官方文档司波图大神视频用gibMacOS制作恢复U盘下载OpenCore,OpenCorePkg’s releases_7080mff m2网卡

汇编quad_ARM 汇编-程序员宅基地

文章浏览阅读904次。1. 寄存器1.1 通用寄存器(X0-31)参数寄存器(X0 - X7): 用于传递函数的前面8个参数,多余8个参数的,超出部分通过栈传递返回值寄存器:(X0,X8): 用于保存返回值,如果是基本数据类型,返回值保存在X0,如果是结构体,结果的地址将保存在X8调用者保存的临时寄存器(X9-X15):如果调用者用到这些寄存器,在调用另外一个函数前,调用者必需要将受影响的寄存器保存在自己的堆栈中.它们..._汇编.quad

AAAI2021联邦学习论文集_flame: differentially private federated learning i-程序员宅基地

文章浏览阅读2.3k次。目前,已经开放了AAAI2021的Accept Paper List, 本文精选了14篇**联邦学习(Federated Learning)**的入选论文,分类如下:隐私保护(Private Protection)278: Secure Bilevel Asynchronous Vertical Federated Learning with Backward UpdatingQingsong Zhang, Bin Gu, Cheng Deng, Heng Huang4838: FLAME: Di._flame: differentially private federated learning in the shuffle model

Yarn实现的Hadoop集群高可用_hadoop高可用集群只能打开一个yarn网址-程序员宅基地

文章浏览阅读1.4k次。Yarn实现的Hadoop集群高可用;hadoop ResourceManger;Hadoop集群资源管理系统_hadoop高可用集群只能打开一个yarn网址

hive 修改cluster by算法_K-Means聚类算法原理及Python实践-程序员宅基地

文章浏览阅读580次。“聚类”(Clustering)试图将数据集中的样本划分为若干个不相交的子集,每个子集被称为一个“簇”或者“类”,英文名为Cluster。比如鸢尾花数据集(Iris Dataset)中有多个不同的子品种:Setosa、Versicolor、Virginica,不同品种的一些观测数据是具有明显差异的,我们希望根据这些观测数据将其进行聚类。下图可以看到,不同品种的鸢尾花的花萼(Sepal)和花瓣(Pe..._hive支持knn或者kmeans聚类么?

随便推点

springboot+dubbo+zk_springboot+dubbo2.7+zk +gradle-程序员宅基地

文章浏览阅读491次。springboot+dubbo+zk注意关于Curator连接Zookeeper对应版本VersionsThe are currently two released versions of Curator, 2.x.x and 3.x.x: Curator 2.x.x - compatible with both ZooKeeper 3.4.x and ZooKeeper 3.5.xCurator 3.x.x - compatible only with ZooKeeper 3.5.x _springboot+dubbo2.7+zk +gradle

安装Centos 并使用Xshell远程连接(虚拟机和本机通用)_某同学在一家it公司实习,该同学利用xshell等工具远程连接管理centos系统,为了方便-程序员宅基地

文章浏览阅读3.1k次,点赞3次,收藏18次。前言1.安装linux非常的简单,主要就是先准备个系统镜像;如果需要安装到本机,那就需要准备个4~8G的U盘(越大越好),制作成系统盘(用于安装linux系统);如果你是虚拟机安装那就准备一个虚拟机软件就好了(比如VMware )。2.然后就是配置环境;在本文你可以了解到,怎么安装系统并使用Xshell进行远程连接。正文介绍linux它是一个基于POSIX和Unix的多用户、多任务、支..._某同学在一家it公司实习,该同学利用xshell等工具远程连接管理centos系统,为了方便

python 对 yaml 文件操作_python中新建yaml文件 f.close()-程序员宅基地

文章浏览阅读397次。python 对 yaml 文件操作#!/usr/bin/env python# -*- encoding: utf-8 -*-"""@Introduce : python 对 yaml 的操作@File : test9.py@Time : 2020/9/9 11:38@Author : xiahuadong@Tel _python中新建yaml文件 f.close()

[转]该学Java或.NET?-程序员宅基地

文章浏览阅读51次。该学Java或.NET?  自从.NET问世以来,程序员都很关心的一个问题是「该学Java或.NET」。我也在挣扎,该「该继续Java的研究,或者该开始准备培养.NET的知识」。   当然,最好是能两者兼顾,但是每个人的时间都很有限,想要兼顾两者,其实不太容易。投入在.NET的时间越多,所能花费在Java的时间自然就少了,反之亦然。在信息爆炸的时代,重要的不是信息的取得,而是信息的抉择。信息太多,...

oracle rac启动报错,【案例】Oracle RAC报错ORA-01157的原因和MOS官方解决办法-程序员宅基地

文章浏览阅读384次。天萃荷净Oracle研究中心案例分析:运维DBA反映Oracle RAC启动失败并报错ORA-01157,分析原因为遇到数据文件在其它一台实例,因为权限原因导致不能访问时。在RAC环境中,当数据库OPEN状态时,如果遇到数据文件在其它一台实例,因为权限原因导致不能访问时,如1157报错ORA-01157: cannot identify/lock data file 19 – see DBWR t..._rac ora-01157

generator-mybatis-generator-1.3.6生成实体类和Mapper.xml文件详解_mybatis-generator 1.3.6下载-程序员宅基地

文章浏览阅读3k次,点赞2次,收藏3次。在学习MyBatis的过程中,发现mybatis确实是非常好用的的框架,但是,手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件。这样可以省去很多的功夫,将生成的代码copy到项目工程中即可。当然了,eclipse上也有类似的插件,不过我选择generator是因为其方便,只需要下载一个jar包就好,下面就来说一下构建过程吧: 我的目录结构如下..._mybatis-generator 1.3.6下载