在javascript算法中使用私有MD5密钥的安全方式
Secure way of using private MD5 key in javascript algorith?
我想将在线支付与我的网络(html+jquery)集成。最简单的方法就是在特定的链接上发送表格。其中一个参数是签名。签名是来自字段和私钥的散列。问题是我不想在javascript代码中公开我的私钥。有安全的方法吗?
以下是表单的测试代码:http://developers.payu.com/en/restapi.html#creating_new_order_form以及签名生成算法:http://developers.payu.com/en/restapi.html#references_form_signature
简短的回答是……不。嗯,也许,但不是真的。
您无法在Javascript中安全地完成整个过程,因为它要求您将密钥加载到用户浏览器中。这是一个即时安全游戏结束。
可以做的是在某个地方设置一个服务器(密钥存储),用于保存您的私钥并根据需要加密消息。这会阻止最终用户看到你的私钥,但这只会让问题进一步恶化——你怎么知道提出请求的浏览器是真正的用户,而不是恶意用户?如果你只是在出示的任何东西上签名,你还不如完全跳过安检。如果你无论如何都要有一个服务器,为什么不使用它来服务网页和验证表单数据呢?
所以,实际上,你需要一些服务器端的东西来验证用户输入,检查它是否正常/不受影响,然后签署消息并将其传递出去
你必须问问自己,为什么你需要在浏览器中这样做。。。签署一条信息的全部意义在于证明它来自谁。如果它来自别人的浏览器,而你对该消息一无所知,你为什么要把它签名为真实的、来自你的?
相关文章:
- API密钥使用和检查示例
- react.js中的密钥绑定
- JS对象密钥序列
- 似乎无法使用javascript从AWS 3S中删除密钥
- 加载两个具有相同父密钥名称的json文件
- 如何获取$data.Entity的密钥
- Angular ngRepeat:重复错误(尽管没有重复的密钥)
- CryptoJS和密钥/IV长度
- 基于api密钥的NodeJS web服务
- 输入密钥和firefox提示
- React Rails应用程序中动态子项的密钥分配问题
- 正在Javascript Cookie中设置重复密钥
- 通过localStorage中的密钥获取ID
- 从密钥中获取价值.JavaScript
- Javascript对象中的跨浏览器密钥查找性能
- D3动态json密钥名称
- OAuth 2.0 OpenID连接环回和密钥斗篷
- 从ng条消息中提取ng条消息密钥
- javascript和具有唯一密钥的es6过滤器数组
- 在javascript算法中使用私有MD5密钥的安全方式