密码学方向硕士,做实验需要用Charm
来实现一些密码学算法。Charm
是基于Python
的密码学开发框架,用于快速原型设计先进的密码系统。常用的基础密码库基本都有支持,包括对称加密、消息摘要、数字签名等。
由于我的 PD 虚拟机在新系统下各种崩溃,在Ubuntu
下操作太费劲了,故尝试在macOS 13
系统下进行了安装,踩了一些坑后最终安装成功。
2022-11-10
密码学方向硕士,做实验需要用Charm
来实现一些密码学算法。Charm
是基于Python
的密码学开发框架,用于快速原型设计先进的密码系统。常用的基础密码库基本都有支持,包括对称加密、消息摘要、数字签名等。
由于我的 PD 虚拟机在新系统下各种崩溃,在Ubuntu
下操作太费劲了,故尝试在macOS 13
系统下进行了安装,踩了一些坑后最终安装成功。
网络编程时,当业务逻辑变得复杂,难免会遇到回调嵌套。Javascript
的async/await
异步处理方案让我们不再受callback
回调噩梦的困扰。
本文介绍一种让Alamofire
实现类似于async/await
的同步请求方案,优雅摆脱回调地狱。演示如下,基于 Alamofire 5.0+。
// 异步请求
AF.request(LOGIN_URL, method: .post, parameters: params).responseDecodable(of: MyNetWorkModel.self) { (response) in
if response.result == .success { ... }
}
// 同步请求
let response = AF.request(LOGIN_URL, method: .post, parameters: params).responseDecodable(of: MyNetWorkModel.self)
if response.result == .success { ... }
前两天在开发iOS
程序的验证码输入框时遇到了一个问题,当我给UITextField
实例对象更改 keyboardType 属性为 .numberPad 时,如果系统正在使用第三方输入法,则不能强行调用系统数字键盘。搜索发现要禁用第三方键盘需要在AppDelegate
中实现:
func application(_ application: UIApplication, shouldAllowExtensionPointIdentifier extensionPointIdentifier: UIApplication.ExtensionPointIdentifier) -> Bool {
return false
}
可如此一来就全局禁用了第三方键盘,不是我想要的结果。本文介绍一种针对某个UITextField
实现禁用第三方键盘的方案。
最近参与了一款帮助黑苹果
用户实现各种功能的工具性软件 HackintoshBuild 的开发。
该工具的基本原理是在各种复杂的shell
命令基础上套一层GUI
,增强可视化和交互性,实现各种功能,如:编译引导/驱动、挂载 EFI 分区、查看 SIP 状态、更换锁屏壁纸、查看 IOReg、解锁系统分区读写、修复权限重建缓存、开启安装软件未知来源、查看系统信息等等。
本篇文章将重点讨论下 macOS App 运行时获取 root 权限的几种方案。