You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加含'+'的SHA哈希到CSP头后Chrome不识别,该如何解决?

解决Chrome中CSP哈希未被识别的问题

嘿,我一眼就发现问题出在哪了——根本不是+字符的锅,是你添加的那个哈希值前后多了空格!

看Chrome给出的错误信息里的这段:

"style-src 'self' 'sha256-wIuuK5ba7OAcKAanTmQNfXsquALURJjbDNey9fYOgrk=' 'sha256-bBHvtUsahvK4AUK9cudfQY9aAj/W36/whyrS/FEv5mg=' ' sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= ' 'sha256-URnF06gx6Q3vkDUa9InSpaMLXZIlvzLk9Vk3fkMetU0='"

注意那个出问题的哈希:' sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= ',单引号里面前后都有空格!CSP对指令值的格式要求非常严格,空格会被当作分隔符,导致这个哈希被识别成一个无效的独立条目,Chrome自然会提示你还没添加正确的哈希。

解决步骤很简单:

  • 直接移除哈希值前后的多余空格,确保它是'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='这种格式,单引号紧跟哈希的开头和结尾,没有多余空格。
  • 不要尝试把+替换成%2B,CSP哈希中的特殊字符不需要编码,编码后反而会让哈希值本身变成错误的,Chrome会直接忽略它。

另外补充一句:这个哈希其实是空字符串的SHA256值,如果你是为了允许空的内联样式(比如<style></style>),那这个哈希是完全正确的,只要去掉空格就能正常生效。

修改后的正确CSP指令示例:

style-src 'self' 'sha256-wIuuK5ba7OAcKAanTmQNfXsquALURJjbDNey9fYOgrk=' 'sha256-bBHvtUsahvK4AUK9cudfQY9aAj/W36/whyrS/FEv5mg=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' 'sha256-URnF06gx6Q3vkDUa9InSpaMLXZIlvzLk9Vk3fkMetU0=';

修改后刷新页面,Chrome的错误提示应该就会消失啦。如果还是有问题,可以直接复制Chrome错误信息里给出的哈希值(就是提示你需要添加的那个),确保完全一致后再放到CSP头里。

内容的提问来源于stack exchange,提问作者Mario Menger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:13:04