【问题标题】:If https already encrypted GET request, is sha encryption important?如果 https 已经加密了 GET 请求,那么 sha 加密重要吗?
【发布时间】:2019-10-10 03:23:24
【问题描述】:

我在看微信的文档,发现他们使用的是SHA-1。我觉得它不安全,但后来我的朋友说'没关系,我们使用 https',所以我想知道,使用 SHA-1 或其他重要吗? https 什么时候会加密我们的请求?

谢谢!

这是微信的文档: https://developers.weixin.qq.com/doc/offiaccount/en/Basic_Information/Access_Overview.html

private function checkSignature()
{
    $signature = $\GET["signature"];
    $timestamp = $\GET["timestamp"];
    $nonce = $\GET["nonce"];
    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr, SORT_STRING);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );
    if( $tmpStr == $signature ){
        return true;
    }else{
        return false;
    }
}

【问题讨论】:

  • 您好,欢迎来到 Stack Overflow。根据网站的规则,如果可能的话,每个问题都必须是独立的。欢迎补充链接,但即使链接失效,每个问题也需要有意义。因此,您能否编辑您的问题并从您的链接中添加相关文本?
  • @Amadan 谢谢,我刚刚更新并添加了相关代码到我的问题中。
  • SHA-1 是一种单向哈希函数......虽然它不应该在大多数情况下使用,但在你的情况下,因为你按照建议使用它,你别无选择,但使用它。

标签: security https sha


【解决方案1】:

SHA-1 是一种单向哈希函数。在大多数情况下应该避免这种情况,但在您的情况下,微信没有为您提供任何替代方案(尽管微信当然可以在未来修改它们的实现)。

还要回答您的另一个问题,即 HTTPS 何时加密您的请求; HTTPS 是一种协议,可确保传输中的数据受到保护和加密。

当浏览器尝试访问受 SSL 保护的网站时,浏览器和 Web 服务器会进入一系列消息交换,这也称为“SSL 握手”。 SSL 握手发生在幕后,对用户透明。

握手过程导致使用公钥和私钥对建立会话密钥。然后使用会话密钥来设置 SSL 连接。

由于对称加密在功率方面更有效,因此 PKI 部分仅在 SSL 握手期间用于建立对称会话密钥。动态数据使用共享对称密钥加密。

【讨论】:

    猜你喜欢
    • 2022-12-06
    • 1970-01-01
    • 2019-11-28
    • 2017-11-06
    • 2020-10-18
    • 2017-06-12
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    相关资源
    最近更新 更多