是否有任何类型的操作系统API可以为您编码/解码或安全存储密码?在Linux,OSX,Windows
上背景:您需要安全地存储密码。如果您使用程序加密密码,攻击者可以反汇编您的二进制文件并检索加密密钥。
如果有另一种方法可以实现这一目标,我也会提出建议。
答案 0 :(得分:2)
OS X具备该功能。它被称为钥匙串。它的工作方式是,如果您的应用程序是最初存储它的应用程序(通常使用代码签名以确保它是同一个应用程序),或者您已设置ACL以允许特定的其他应用程序,操作系统允许访问钥匙串项目访问该项目,并且仅当钥匙串的拥有用户当前登录时。使用用户密码登录的行为解锁了钥匙串,因此如果用户丢失了他/她的密码,则钥匙串必须用空的替换,因为它在那时变得毫无价值。
iOS提供类似的钥匙串,但它可以通过设备的密码解锁,而钥匙串是按应用而不是跨应用共享,这意味着无法跨应用轻松共享密钥,除非应用程序本身明确请求访问共享密钥链。
我认为其他操作系统具有类似的功能。