本地文件夹的Chrome扩展ID算法

时间:2017-08-13 14:39:39

标签: google-chrome google-chrome-extension

Chrome在本地文件夹中的扩展ID算法是什么? 例如,在/ usr / mychromeextension中给出扩展,我如何计算其扩展ID?

2 个答案:

答案 0 :(得分:2)

根据source code in id_util.cc

  1. 没有尾部斜杠的完整路径的SHA256计算为小写的十六进制字符串。
      在Windows中
    • 如果路径以一个
    • 开头,则驱动器号为大写 Windows中的
    • UTF-16编码用于文件路径
  2. 使用哈希字符串的前32个十六进制数字
  3. 每个十六进制数字从0 .. f映射到a .. p范围:
    每个十六进制数字的十进制值被添加到小写a的ASCII代码(十进制97)

      

    我们使用字符'a' - 'p'而不是'0' - 'f'来避免拥有完全数字的主机,因为某些软件会将其解释为IP地址。

答案 1 :(得分:0)

如果您运行MacOS或Linux,则可以计算本地项目的扩展ID:

echo -n /full/path/to/extension | openssl dgst -sha256 | head -c32 | tr 0-9a-f a-p

其中:

  • /full/path/to/extension - 扩展文件夹的绝对路径(不带斜杠)
  • shasum - 计算SHA256
  • head - 前32个字符
  • tr将十六进制0..f映射到字母a..p