我想创建一个许可证密钥,你会推荐哪种密码算法?
基本上输入将是:
公司名称
主要版本号
日期创建
expirey日期
有feature1:
有feature2:
有feature3:
例如Acme Inc 5.0 20081102 20081102 0 1 0
相关:哪种内置的.NET加密算法最安全?
我建议:不要花太多时间来保护你的钥匙.使用字节编译语言,反编译非常容易,只需使应用程序跳过验证步骤即可.无论您的密钥有多安全,当您的验证功能始终返回true时,它们都无关紧要.串行密钥是为了让诚实的人诚实.
如果您在客户端进行验证,则需要使用非对称加密.这样您就不必将私钥分发给客户.我会使用SHA-256和2048位密钥生成RSA签名.如果这样做,加密操作将不是弱链接.当然,破解者可以更改代码以跳过验证步骤,但是加密算法不会对此有所帮助.
如果您正在验证服务器端,我会选择基于SHA-256的HMAC.