安全兼容加密示例
创建该存储库是为了解决越来越多的在互联网上浮现的不良加密代码示例。 随着时间的推移,该存储库将进行扩展,以包含更多语言的示例。
随着2018年10月,有跨越5个不同的平台,14种语言16倍不同的兼容的例子。
演算法
加密:AES-128-GCM
密钥派生:PBKDF2
PBKDF2基础哈希:SHA-256
由于Java无限强度策略( Java Unlimited Strength Policy) ,选择了具有128位密钥的AES,这是由于密码导出法要求密钥大小不超过128位。 尽管使用AES-128显示了示例,但可以通过更改参数ALGORITHM_KEY_SIZE (在某些情况下为ALGORITHM_NAME )将它们轻松地更改为256位AES。
兼容性
此处显示的每个示例都跨平台和/或语言兼容。 任何语言的encryptString的结果都可以由任何语言的decryptString解密。 对于与现有示例不兼容的示例,请不要提交拉取请求。
方法
每个示例都公开了4种签名大致等同于以下方法的方法:
string encryptString(plaintext:
1