使用Git-Crypt和GPG加密Git代码库中的敏感信息(二),2024年最新被面试官问的大数据开发问题难倒了

这样,下次使用git-crypt unlock 解密的时候,就不用传密钥文件参数给git-crypt unlock命令了,git-crypt 会自动遍历根目录下.git-crypt目录下的密钥文件,并尝试比对看本机有没有安装相对应的GPG私钥来解密这个.git-crypt目录下的密钥文件以获得GPG公钥加密后的git-crypt的对等加密密钥,如果本机有对应GPG私钥可以解密,然后就使用GPG私钥解密加密后的密钥文件获取git-crypt 密钥,然后使用git-crypt密钥加解密代码仓库中的加密过的敏感信息文件。如下所示。

先测试加密

在测试解密

输入私钥密码后

可以看到通过添加GPG user之后使用git-crypt unlock命令之后,不用传密钥文件参数来解密了。

git-crypt 添加新GPG公钥用户

通过这样的方式如果想要别人也有使用git-crypt 加解密仓库中的敏感信息,就可以让别人发送他的GPG公钥给你,然后你把对方的公钥导入到你机器上,然后通过git-crypt add-gpg-user 来使用它的gpg文件来加密git-crypt 密钥并在.git-crypt 文件生成一个加密密钥文件并提交push到远程代码仓库,这样别人在本地重新拉取代码后就也可以使用git unlock命令解密代码库中的敏感信息了,因为.git-crypt目录下包含了使用它的gpg 加密git-crypt密钥生成的加密密钥文件,而它本机装有自己的GPG私钥,所以git-crypt unlock 的时候就可以使用它自己的gpg 解密加密密钥文件获取git-crypt 密钥然后解密仓库敏感信息了,具体操作步骤如下。

导入别人GPG公钥

PS D:\projects\ecpcb\galaxy-core> gpg --import .\davidpub2.asc
gpg: key 9C796163E291AF14: public key "david.wang <davidwang@gmail.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1
PS D:\projects\ecpcb\galaxy-core> 

此时再看本机GPG 公钥列表

PS D:\projects\ecpcb\galaxy-core> gpg --list-keys --keyid-format long
[keyboxd]
---------
pub   rsa1024/B26A154E6EE71E72 2024-02-20 [SC] [expires: 2034-02-17]
      96964DABF5A3A10BE371FB34B26A154E6EE71E72
uid                 [ultimate] David Wang <davidwangqing@live.com>
sub   rsa1024/C1305211C9667A9E 2024-02-20 [E] [expires: 2034-02-17]

pub   rsa2048/9C796163E291AF14 2024-03-04 [SC]
      F49C56FF5264AB5CF5F6A3E09C796163E291AF14
uid                 [ unknown] david.wang <davidwang@gmail.com>
sub   rsa2048/7793195898DF2C11 2024-03-04 [E]

PS D:\projects\ecpcb\galaxy-core>

设置你对导入的GPG公钥的信任级别到ultimately , 不然git-crypt 添加GPG公钥用户会报错

PS D:\projects\ecpcb\galaxy-core> gpg --edit-key  9C796163E291AF14
gpg (GnuPG) 2.4.4; Copyright (C) 2024 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.


pub  rsa2048/9C796163E291AF14
     created: 2024-03-04  expires: never       usage: SC
     trust: full          validity: unknown
sub  rsa2048/7793195898DF2C11
     created: 2024-03-04  expires: never       usage: E
[ unknown] (1). david.wang <davidwang@gmail.com>

gpg> trust
pub  rsa2048/9C796163E291AF14
     created: 2024-03-04  expires: never       usage: SC
     trust: full          validity: unknown
sub  rsa2048/7793195898DF2C11
     created: 2024-03-04  expires: never       usage: E
[ unknown] (1). david.wang <davidwang@gmail.com>

Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y

pub  rsa2048/9C796163E291AF14
     created: 2024-03-04  expires: never       usage: SC
     trust: ultimate      validity: unknown
sub  rsa2048/7793195898DF2C11
     created: 2024-03-04  expires: never       usage: E
[ unknown] (1). david.wang <davidwang@gmail.com>
Please note that the shown key validity is not necessarily correct
unless you restart the program.

gpg> quit

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

img-CtBn5uaO-1713107315168)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值