jiamimao – 文件加密最简法门

哈喽,大家好,我是指北君。

大家有没有发现,现在我们对文件安全加密已经越来越重视了,但是你知道该如何实现吗,又该如何优雅的实现呢?

前言

不知道在前几年互联网还没有那么发达的时候,指北君要是有文件加密需求一般都是用winrar进行打包,打包的时候就可以设置解压密码,要拿到文件必须有解压密码才可以。

但是经过近几年的飞速发展,各类破解软件层次不穷,winrar的加密方式已经不再安全。包括各类word、excel及PDF文件内的加密都可以破解。

那么时至今日,是否还有安全靠谱的加密软件呢?有!那就是加密猫!您可以用这个软件来加密任何格式的文件,例如您电脑里面的视频、pdf文档、图片等等。加密后,任何人就无法打开这个加密后的文件,无法知道这个加密文件的内容,除非知道密码的本人。如果您的数据没有被提前加密而上传到第三方网盘(例如dropbox、google drive、百度网盘)时,您的数据内容直接会暴露给这些公司。所以,指北君强烈建议您的一些重要文件一定要进行强加密,这样才能保障您的数据安全。

使用方法

下载jiamimao安装包并解压,下载地址请大家关注公众号[开源指北]回复[jiamimao] 获取。

打开安装包内的index.html文件,就可以打开加密猫的界面,如下图:

接下来的操作步骤:

1. 上传一个本地文件2. 输入密码3.文件加密后,点击下载按钮,选择存储到您本地的电脑或者移动硬盘

就这么简单!

使用案例

1.加密

比如指北君这里随便下载了一个【劳动仲裁申请书(完整版).txt】要对其进行加密,我们先看下原文件的全貌,如图:

接着把它拖入加密猫中,并设置好密码,点击开始加密

即可得到加密后的文件,并提示可进行下载,如下图:

下载后,我们再打开加密后的文件,如下图:

文件已成功被加密。

2.解密

接下来是解密,我们把文件拖入加密猫中,输入密码,点击开始解密

解密后会提示下载链接,下载后的就是成功解密的文件。

指北君有话说

正如前文所说一样,目前文件的安全性越来越受到重视,特意下载各种加密应有又太麻烦且不开源,用着心里没底,而jiamimao能够让我们不仅仅能够优雅的对文件进行加解密,并且无需安装客户端,跨平台的特性,让我们用一个小小的U盘就可以带着它走,这么好的软件赶紧来试试吧!

开源指北,立志做最好的开源分享平台,分享有趣实用的开源项目。

欢迎加入交流群,你可以摸鱼、划水、吐槽、咨询。 还有简历模板、各种技术面试资料等100G的资源等着你领取哦。 公众号回复 fff888马上加入,快来一起来聊一聊吧!

以上就是本次推荐的全部内容,我是指北君,感谢各位的观看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python可以通过以下步骤使用卡诺图化法: 1. 创建一个truth table,表示布尔函数的输入和输出。 2. 将truth table按照规则(如最短项的贪心法)分组,并将分组的结果标记在卡诺图上。 3. 用卡诺图的分组结果来确定布尔函数的最小项(min terms)和不可化项(don't care terms)。 4. 使用最小项和不可化项生成化后的布尔函数。 以下是一个使用Python代码实现卡诺图化法的例子: ``` from itertools import combinations # create a truth table (inputs -> output) truth_table = {'000': 0, '001': 0, '010': 0, '011': 1, '100': 1, '101': 1, '110': 0, '111': 0} def generate_groups(minterms, num_vars): groups = [[] for i in range(num_vars + 1)] for minterm in minterms: num_ones = bin(minterm).count('1') groups[num_ones].append(minterm) return groups def combine_groups(groups): new_groups = [] for i, group in enumerate(groups): for j, other_group in enumerate(groups): if i != j: for pair in combinations(group, 2): if pair[0] ^ pair[1] in other_group: new_group = set(group + other_group) new_group.remove(pair[0]) new_group.remove(pair[1]) new_groups.append(sorted(list(new_group))) return new_groups def get_min_terms(group): min_terms = [] for minterm in group: bin_num = bin(minterm)[2:] bin_num = '0' * (3 - len(bin_num)) + bin_num min_terms.append(bin_num) return min_terms def simplify_boolean(minterms, num_vars): groups = generate_groups(minterms, num_vars) while True: new_groups = combine_groups(groups) if len(new_groups) == 0: break groups = groups + new_groups min_terms = [] for group in groups: min_terms += get_min_terms(group) return min_terms print(simplify_boolean([3, 4, 5, 6], 3)) # Output: ['011', '101'] ``` 在这个例子中,我们使用了一个truth table来表示一个布尔函数,并创建了一个函数`simplify_boolean`来实现化布尔函数的操作。该函数接受一个包含minterms的列表和变量数量,返回最小项的字符串表示形式。我们可以看到,该函数使用卡诺图算法来实现化操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值