我正在尝试在我正在编写的应用程序中创建一个序列号检查器,它使用加密技术对名称进行编码,并根据实际应该输入的数字进行编码。我熟悉C#中使用的SHA1CryptoServiceProvider,但在Objective-C中是否有这样的东西?
以下是我要转换为 Objective-C 的C#示例代码:
string license = txtnLicense.Text;
SHA1CryptoServiceProvider provider = new SHA1CryptoServiceProvider();
string finalLicense = BitConverter.ToString(provider.ComputeHash(bytes));
bool isGood = (BitConverter.ToString(provider.ComputeHash(bytes)).Replace("-", "") == license.Replace("-", ""));
答案 0 :(得分:4)
Mac OS X附带一个易于使用的加密和内置散列库,名为CommonCrypto。您不必链接任何特殊的东西来使用它。请参阅/ usr / include / CommonCrypto中的标题以获取其界面,并查看CC_SHA1(3cc)的文档。
答案 1 :(得分:2)
using openssl for license keys显示了如何使用SHA1。这可能是一个好的开始。