文档章节

码云存储库加密工具

Force武装卫队
 Force武装卫队
发布于 2017/08/03 16:45
字数 1113
阅读 478
收藏 13

安全的隐忧

对于很多开发者而言,代码既是资产,于是一小部分开发者身怀巨富,将代码放置在代码托管平台上时,显得‘惴惴不安’,唯恐平台泄密或者平台人员窥探到这些财富。

git,svn,hg 几乎所有的版本控制工具都不会将用户的文件通过特定的方法加密,版本控制系统存储的都是文件快照或者文件的差异变更。(版本控制工具是个好同志,尊重事实)

这样一来,远程服务器或者中央服务器上的数据相对于能接触到这些数据的人来说也就是透明的。 实际上也是如此,几乎所有的代码托管平台上的管理员可以看到你的远程存储库或者中央存储库。当然平台的管理员都有严格的规范限制这种数据泄密行为,对于绝大多数开发者而言,在这方面是无需担心的。

郑重说一句:码云有非常健全的安全机制,来保障大家的私密项目是安全可靠的。

对于安全级别非常高的企业来说,他们往往会自己搭建私有化版本控制系统,而不是使用公有云上的代码托管平台。

代码上的财富并不一定能支撑私有化的高额费用,如何消除这些人的隐忧呢?简单的方案是在这些用户将代码推送到服务器前将其加密。git-secure 的目的正是如此。

这有一个简单的解决方案

距离老板提出存储库加密的需求已经过去两周,git-secure 经过测试已经能在 Windows, Linux,macOS 上运行正常。

git-secure 是一组工具,用户在使用 git-secure 创建 commit 时会自动的将修改的文件使用 AES-256 加密,然后提交推送到远程服务器上。远程服务器上有更新时,使用 git-secure pull 即可,用户还可以使用 git-secure 克隆远程服务器上已经被 AES 256 加密的存储库。

项目地址 git-secure

如何使用

安装依赖

git-secure 需要安装 git 工具,在 Windows 系统,不一定需要将 git 添加到环境变量中,git-secure 将自动搜索 git 安装目录。

由于 git-secure 是使用 Powershell 脚本编写,用户在使用前应当安装 Powershell 6.0(Windows 系统需要 5.0 支持),Powershell 6.0 是一个跨平台脚本工具,支持 Windows,Linux, macOS ,下载地址为 https://github.com/PowerShell/PowerShell/releases

bash <(wget -O - https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools/install-powershell.sh)

安装

git-secure 非常容易使用, 用户可以去码云主页下载安装包: git-secure/releases,值得注意,Windows 平台的用户在使用 git-secure 安装包时,应当勾选添加 git-secure 安装目录到环境变量,这样可以省去用户输入命令时的麻烦。

输入图片说明

使用

git-secure 项目主页,有一些基本操作的命令,实际上和 git 相关命令一致。

Git Secure utilies 1.0
Usage: git-secure cmd args
       add         add file contents to the index
       clone       clone a encrypted repository
       config      config your secure repository
       commit      create a commit
       diff        show commit changes between commit worktree
       init        initialize a secure repository
       key         create a aes key
       pull        Fetch from and integrate with another repository or a local branch
       push        Update remote refs along with associated objects
       remote      set remote for secure repositroy
       status      Show the working tree status
       help        print help message

使用例子截图:

输入图片说明

这是如何做到的

git-secure 是一个简单的存储库加密方案,因此,内部实现应当非常简单。git-secure 使用双存储库机制,用户可见的存储库是一个临时的存储库,主要的功能是提供 diff,add 等功能,git-secure commit 时将先提交到临时存储库中,然后比较临时存储库的 commit id 与 记录的前次 commit id 比较,然后将修改的文件加密输入到隐藏的存储库 .git/secure 中,然后在隐藏的存储库中创建提交,成功后刷新记录文件。

git-secure 是开源工具,因此有兴趣的人士可以通过源码了解 git-secure。同时也非常欢迎用户提交 PR。

最后

Powershell 是个好伙计,希望大家喜欢它,git-secure 也是个好伙计,希望大家喜欢它。

最后 项目地址 git-secure

© 著作权归作者所有

共有 人打赏支持
Force武装卫队

Force武装卫队

粉丝 183
博文 39
码字总数 77000
作品 3
深圳
高级程序员
私信 提问
加载中

评论(7)

Force武装卫队
Force武装卫队

引用来自“非知名隐退女尤”的评论

CMD才是个好家伙。Powershell 不过是他的变种。哼哼。
Powershell 并不是 cmd 的变种。
金拱门
金拱门
CMD才是个好家伙。Powershell 不过是他的变种。哼哼。
Force武装卫队
Force武装卫队

引用来自“降龙罗汉”的评论

博文,效率好高,两周!!!👍
主要是杂七杂八的事情,跨平台测试等耗时了。
一路南漂
一路南漂
给力,大神出山所向披靡!
降龙罗汉
降龙罗汉
博文,效率好高,两周!!!👍
lgl48128244
lgl48128244
这广告猝不及防
嘻酱
嘻酱
OSChina 开源周刊 38 期 —— 推荐 10 个 ReactJS 入门资源

每周技术抢先看,总有你想要的! 前端开发 【翻译】10 个超棒的 jQuery 视频插件 【翻译】使用 NativeScript 基于 JavaScript 构建原生应用 【翻译】推荐 10 个 ReactJS 入门资源 【软件】N...

OSC编辑部
2015/06/13
2.8K
3
码云存储库加密工具 1.0 正式发布

特大好消息,为了回馈广大开发者对码云的支持,我们特地发布了 git-secure 存储库加密工具。 git-secure 的主要作用是支持用户使用 git 操作存储库,然后提交到远程服务器上时却是 AES 机密后...

Force武装卫队
2017/08/04
1K
13
OSChina 技术周刊第二十三期 —— 每周技术精粹

每周技术抢先看,总有你想要的! 移动开发 【软件】Android 调试工具 Stetho 前端开发 【翻译】25 个超棒的 HTML5 & JavaScript 游戏引擎开发库 【翻译】什么时候 AngularJS 会超越 jQuery 【...

OSC编辑部
2015/03/02
0
0
OSChina 技术周刊第23期 —— .NET Core 开源更新报告

每周技术抢先看,总有你想要的! 移动开发 【软件】Android 调试工具 Stetho 前端开发 【翻译】25 个超棒的 HTML5 & JavaScript 游戏引擎开发库 【翻译】什么时候 AngularJS 会超越 jQuery 【...

OSC编辑部
2015/03/02
3.7K
5
【码云周刊第 44 期】有哪些实用且堪称神器的 Chrome 插件

chrome 的简洁快速以及丰富的插件种类使得它在国内日益盛行,帮助了我们很多 chrome 用户提升了工作效率,而今天小编要给大家推荐9款实用甚至堪称神器的 chrome 插件,希望对提升大家的工作效...

码云Gitee
2017/10/27
0
29

没有更多内容

加载失败,请刷新页面

加载更多

对接比特币钱包的PHP开发包

BtcTool是一个基于第三方服务和离线裸交易实现的PHP比特币应用开发包,适合不希望部署本地 节点旳PHP开发者,开发包主要包含以下特性: 利用第三方服务获取指定地址的utxo集合 离线生成消费裸...

汇智网教程
12分钟前
1
0
【自用】 VHD to VHDX

VHDX: 在VHD 2TB 的基础上提供 64TB的容量。 支持逻辑扇区大小为 4KB,和每块的大小为 256MB,来优化虚拟磁盘性能。 比VHD提供更高的安全性、可靠性和性能。 convert-VHD –path d:\Hyper-v...

Tensor丨思悟
25分钟前
1
0
30 岁转行做Python开发晚吗?而且是零基础

最近有小伙伴问小编,30 岁转行做Python开发晚吗? 小编想说,其实无论男女,只要想学,有这个动力,就直接去行动。无论年龄,无论性别,只要你想一直勇往直前,那么想做的就去做吧~这里有一...

糖宝lsh
35分钟前
10
0
详解Spring中的Profile

前言 由于在项目中使用Maven打包部署的时候,经常由于配置参数过多(比如Nginx服务器的信息、ZooKeeper的信息、数据库连接、Redis服务器地址等),导致实际现网的配置参数与测试服务器参数混淆...

watermelon11
50分钟前
4
0
phper必知必会(二)

  1.说说你对进程,线程以及协程的理解      进程:是系统进行资源分配和调度的基本单位,是基本操作系统结构的基础。进程是程序基本执行的实体。进程与进程之间是独立的,拥有完全独立...

SEOwhywhy
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部