linux文件加密相关知识
-
如何从 Linux 的文件管理器中加密文件Linux 桌面版和服务器版具有卓越的安全性。然而这并不意味着你可以放松警惕。你应该一直认为你的数据总是很快就会被破坏。也就是说,你可能需要使用各种加密工具。比如 GnuPG,它可以让你加密和解密文件等更多功能。GnuPG 的一个问题是一些用户不想在命令行输入那么复杂的命令。如果是这样的话,你可以转向桌面文件管理器。许多 Linux 桌面版包含了简易的加密和解密文件的功能,如果这种功能没有内置,那么也是很容易添加的。我将引导你完成从三个流行的 Linux 文件管理器中对文件进行加密和解密过程:Nautilus (即 GNOME Files)DolphinThunar安装 GnuPG在我们讨论如何处理这个问题之前,我们必须确保你的系统包含了必要的基本组件 —— GnuPG。大多数发行版本都包含 GnuPG。 在某些偶然情况下,你使用的是没有自带 GnuPG 的发行版,以下是安装方法:基于 Ubuntu 的发行版: sudo apt install gnupg基于 Fedora 的发行版:&
-
在 Linux 中加密邮件如果你一直在考虑如何加密电子邮件,那么在众多的邮件服务和邮件客户端中挑来挑去一定是件头痛的事情.可以考虑两种加密方法:SSL或TLS加密会保护发送到邮件服务器的登录名和密码.Gunpg是一款标准的、强大的Linux加密工具,可以加密和认证消息.如果你可以管理自己的GPG加密,并不考虑第三方工具,那它就够了,其它的我们将在稍后讨论.即便加密了消息,你仍然会暴露在流量分析中,因为消息头部必须是明文形式.所以需要另一款比如Tor network来隐藏你在互联网上的足迹.我们会看看各种邮件服务和客户端,以及其中的利弊.忘掉Web邮件如果你使用过GMail, Yahoo,Hotmail或者其它Web邮件提供商的邮件服务,那就忘掉它们吧.你在Web浏览器里输入的任何信息都会暴露在JavaScript攻击中,而且无论服务提供商提供什么保障都是过眼云烟(译者注:此说法靠谱否?).GMail,Yahoo和Hotmail均提供SSL/TLS加密来防止消息被窃听.但是它们不会提供任何保护来阻碍它们自己的数据挖掘,因此并不会提供端
-
怎样用 Tar 和 OpenSSL 给文件和目录加密及解密当你有重要的敏感数据的时候,给你的文件和目录额外加一层保护是至关重要的,特别是当你需要通过网络与他人传输数据的时候。由于�这个原因,我在寻找一个可疑在 Linux 上加密及解密文件和目录的实用程序,幸运的是我找到了一个用 tar(Linux 的一个压缩打包工具)和 OpenSSL 来解决的方案。借助这两个工具,你真的可以毫不费力地创建和加密 tar 归档文件。在这篇文章中,我们将了解如何使用 OpenSSL 创建和加密 tar 或 gz(gzip,另一种压缩文件)归档文件:牢记使用 OpenSSL 的常规方式是:# openssl command command-options arguments在 Linux 中加密文件要加密当前工作目录的内容(根据文件的大小,这可能需要一点时间):# tar -czf - * | openssl enc -e -aes256 -ou
-
在 Linux 上使用 eCryptFS 加密文件和目录作为罪犯,你需要为自己的身份保密;而作为中情局成员,你同样也需要为自己的身份保密。但是,你却不是他们其中的任何一员,你只是不想其他人查探到你的金融数据、家庭照片、尚未出版的手稿,或者记录着你能发家致富的最初想法的私密笔记。我时常听到有人告诉我“我只是个微不足道的人,没人会查探我”或者“我没有什么东西要隐藏的。”好吧,告诉你我的想法,即便我没有什么要隐藏的,或者我也可以公开我带着狗的孩子的照片,那我也有权利不这么去做,也有权利来保护我的隐私。加密类型我们主要有两种加密文件和目录的方法。一种是文件系统级别的加密,在这种加密中,你可以选择性地加密某些文件或者目录(如,/home/alice)。对我而言,这是个十分不错的方法,你不需要为了启用或者测试加密而把所有一切重新安装一遍。然而,文件系统级别的加密也有一些缺点。例如,许多现代应用程序会缓存(部分)文件你硬盘中未加密的部分中,比如交换分区、/tmp和/var文件夹,而这会导致隐私泄漏。另外一种方式,就是所谓的全盘加密,这意味着整个磁盘都会被加密(可能除了主引导记
linux文件加密相关课程
linux文件加密相关教程
- 2.2 对称加密和非对称加密算法 ** 面试官提问:** 既然 HTTPS 协议对通信内容进行了加密,那么涉及到了什么加密算法?题目解析:HTTPS 协议的核心是加密流程,首先我们需要区分三种加密方式:对称加密、非对称加密以及混淆加密。(1)对称加密:加密方和解密方都使用了相同的密钥,只要保证密钥不会泄露给第三方, 整个通信过程就是安全的。 (对称加密算法流程) 因为对称加密算法整个过程共享同一个密钥,所以使用特点也比较明显。优点:算法简单,加密速度快;缺点:安全性低,如果密钥泄露,密文也被中间人拦截,那么信息很容易就会被破解。在企业生产环境下,常用的对称加密算法有 AES 算法。(2)非对称加密:在安全性要求更高的场景下,我们需要使用非对称加密,关于非对称加密算法的流程如下:(非对称加密算法流程)首先定义两种密钥:一种是公钥(Public Key),给任何需要和接收方通信的客户端保存;另一种是私钥(Private Key),只给接收方自己保存。对于要发送的原文文本,发送方通过接收方的公钥对内容加密,加密后的内容只有接收方的私钥可以解密。在整个传输过程中,如果发送方的公钥泄露,加密内容也被窃取,也不会导致传输内容被破解(只要接收方的私钥没有泄露)。常见的非对称加密算法有 RSA 算法(即一种支持变长密钥的公共密钥算法)。另外,面试官可能会提出 MD5 算法的划分,MD5 是非常常见的加密算法,例如在保存用户密码时经常被使用。但是要区分的是,MD5 算法不是对称和非对称算法,MD5 算法不可逆,主要目的是为了文件校验(例如判断文件是否在传输过程中损坏),或者数字签名等途径。
- Linux 日志文件系统 前小节介绍了早期的 Linux 文件系统,本小节介绍 Linux 日志文件系统,日志文件系统是给 Linux 操作系统增加了一些安全相关能力,日志文件系统和早期的文件系统相比,它并不是先把数据写到中间存储设备,然后再写到存储设备索引节点的,而是先把数据写道临时生成的文件中(称为日志),然后数据成功同步到存储设备和索引节点表,再删除对应的日志数据。本小节介绍 Linux 常见的日志文件系统。
- Linux 文件系统介绍 从本小节我们将要开始 Linux 中的文件系统,在 Linux 系统中,文件系统都是基于硬盘创建的,Linux 系统支持多种不同类型的文件系统管理文件和目录,本小节介绍几种基本常见的文件系统。Linux 文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有 Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。在 Linux 中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上,大多数 Linux 发行版在安装时会提供默认的文件系统。
- 2. 加密器 加密器的相关类提供了构造对称加密器的工厂方法。通过该类,我们可以创建 ByteEncryptor 用于加密原始字节流内容,我们也可以构建出 TextEncryptor 用于加密文本字符串,这些加密器都是线程安全的。
- 2.2 加密算法 对称加密算法加密和解密的秘钥使用的是同一个优点加密速度快,计算量小。缺点通信前双方需要协商好密钥,密钥在网络中传输不安全。非对称加密算法公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。优点:私钥不对外公开,公钥可以提前告知对方,密钥不需要在协商中传输,安全性高。缺点:加密算法复杂,效率低。Https 混合加密算法Https 结合了上面两种加密算法的优点,前期通过非对称加密协商好对称加密所需的密钥(保障了密钥的安全性),后面通信的时候就拿着这个密钥采用对称加密进行通信(保障了计算效率)。
- 1. 用户密码加密 上一小节的最后,我们提到用户鉴权服务是需要优化的。大家可以看到我们数据库存储的是明文密码,这是非常不推荐的,在实际的项目中,明文存储用户的密码是非常不安全的,也是不负责任的行为。我们在设计 imooc_user表时,给password设置的类型为固定长度类型char(32),32 位正好是MD5算法加密后的长度。本系统使用 MD5 算法对密码进行加密,下面在 util包下新建一个 MD5Util类并写入如下内容(可直接复制粘贴代码):package com.colorful.util;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5Util { public static String md5(String source) { StringBuilder stringBuilder = new StringBuilder(); try { MessageDigest messageDigest = MessageDigest.getInstance("MD5"); // 将一个byte数组进行加密操作,返回的是一个加密的byte数组,二进制的哈西计算,md5加密的第一步 byte[] digest = messageDigest.digest(source.getBytes()); for (byte b : digest) { int result = b & 0xff; // 将得到的int类型的值转化为16进制的值 String hexString = Integer.toHexString(result); if (hexString.length() < 2) { //系统会自动把0省略,所以添加0 stringBuilder.append("0"); } stringBuilder.append(hexString); } } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return stringBuilder.toString(); } public static void main(String[] args) { String password = "123456"; String s = MD5Util.md5(password); System.out.println(s); }}在主方法中,我们编写了调用md5()加密方法的逻辑,运行代码,屏幕上得到123456加密后的字符串:e10adc3949ba59abbe56e057f20f883e下面我们将imooc_user表中存储的明文密码,更新为上面的结果,大家可以使用SQL语句来进行更新: UPDATE `imooc_user` SET `password` = 'e10adc3949ba59abbe56e057f20f883e' WHERE `id` = 1;这里我直接通过 MySQL 客户端进行更新,如下是操作过程的截图:数据库存储的密码更新后,我们就无法直接通过原本的验证逻辑来验证密码了,需要修改用户鉴权逻辑 —— 将用户输入的密码加密后,再与数据库的密码进行对比。那么这段逻辑要写在service层还是dao层呢?答案肯定是service层,此时service层用于处理业务的特性得到了体现,修改UserService下的login方法,将参数password加密:public User login(String username, String password) { String md5Password = MD5Util.md5(password); return userDAO.selectByUserNameAndPassword(username, md5Password);}再次启动应用程序,验证改写的逻辑是否正确:至此,我们就完成了对用户鉴权服务的优化。
linux文件加密相关搜索
-
label
labelfor
label标签
lambda
lambda表达式
lamda
lang
last
latin
latin1
layers
layui
leave
left
leftarrow
legend
length
lengths
length函数
less