加密

加密云存储中的文件,保护你的隐私

半世苍凉 提交于 2019-12-24 18:46:58
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、背景 前几天一个硬盘坏了(SSD),数据无一幸免。还好我有一定的数据备份。新硬盘到了,我想的是不能再这样下去了。我需要利用现有 云 存储(Dropbox,xx快盘等),实时备份我的重要数据。问题也来了, 云 存储安全吗?不会出xx门吧? 二、分析 云 存储安全从本质上来说肯定是不安全的,所以我需要对本地的文件进行加密。 云端只存储我加密后的文件,这种方式就算 CIA 也很难搞定。 那我们采用何种加密方式呢?Zip 加密码?文件包工具加密还是显得太麻烦,编辑一个文档要先解包再打包。而解包后的数据存在磁盘上也是隐患(可以被深度数据分析工具发现)。 TrueCrypt 是一种不错的加密方式,直接把一个文件(或分区)映射为一个虚拟盘(解密后的文件只会缓存在内存中,所以是安全的),但与云存储放在一起好像就不太协调。问题是 TrueCrypt 存储是按单文件方式,如一个10G的数据文件。不用我说大家也可能会想到,你每次修改你的任何虚拟盘中的数据都会触发文件变更,导致每次要重传10G!!!的文件。虽然有些云存储客户端支持对大文件的分析不用全部重传,但还是相当不爽。 EncFS 也是一种文件系统加密方式,通过映射一个目录来做虚拟目录存储 (解密后的文件只会缓存在内存中,所以是安全的) 。EncFS 不像 TrueCrypt

通过Google Chrome启动参数把用户数据指定到加密文件夹

淺唱寂寞╮ 提交于 2019-12-10 05:35:18
之前的 这篇文章 介绍了如何加密Google Chrome的登陆信息和个人数据,但是使用下来觉得还不是很方便,每次退出时都需要点击 退出并启用childlock功 进行安全退出,如果忘记安全退出,下次启动时就会自动登陆到上次使用的Google账户,无法实现加密运行Chrome的目的。而至于把Google Chrome直接安装到加密盘的做法,虽然能够达到绝对的加密,但是却无法把Google Chrome设定为默认浏览器。那么能不能让Chrome的安装文件和用户数据文件分开存放呢? 今天我通过网络查询找到了这个方法:通过Google Chrome的启动命令行把用户数据指定到加密文件,达到只对数据加密的问题,具体做法如下: 1、在现有的Google Chrome中断开和google 账户的连接,这样做的目的是删除已经保存的用户数据 继续阅读>> 来源: oschina 链接: https://my.oschina.net/u/52437/blog/532891

将 Shiro 作为应用的权限基础 五:密码的加密/解密在Spring中的应用

夙愿已清 提交于 2019-12-09 21:25:42
考虑系统密码的安全,目前大多数系统都不会把密码以明文的形式存放到数据库中。 一把会采取以下几种方式对密码进行处理 密码的存储 “编码”存储 Shiro 提供了 base64和 16 进制字符串编码/解码的 API支持,方便一些编码解码操作。 Shiro内部的一些数据的存储/表示都使用了 base64和 16 进制字符串。 下面两端代码分别对其进行演示 Stringstr = "hello"; Stringbase64Encoded = Base64.encodeToString(str.getBytes()); Stringstr2 = Base64.decodeToString(base64Encoded); Assert.assertEquals(str,str2); 通过如上方式可以进行 base64编码/解码操作 Stringstr = "hello"; Stringbase64Encoded = Hex.encodeToString(str.getBytes()); Stringstr2 =newString(Hex.decode(base64Encoded.getBytes())); Assert.assertEquals(str,str2); 通过如上方式可以进行 16 进制字符串编码/解码操作。 Hash存储 散列算法一般用于生成数据的摘要信息,是一种不可逆的算法

PHP mcrypt启用、加密以及解密过程详解

流过昼夜 提交于 2019-12-07 21:42:37
Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。 1.安装PHP加密扩展Mcrypt 要使用该扩展,必须首先安装mcrypt标准类库,注意的是mcrypt软件依赖libmcrypt和mhash两个库。 2.PHP加密扩展库Mcrypt的算法和加密模式 Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示,结果如下: Mcrypt支持的算法有:cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes Mcrypt支持的加密模式有:cbc cfb ctr ecb ncfb nofb ofb stream 这些算法和模式在应用中要以常量来表示,写的时候加上前缀MCRYPT_和MCRYPT_MODE_来表示,如下面Mcrypt应用的例子: DES算法表示为MCRYPT_DES; ECB模式表示为MCRYPT_MODE_ECB; 3.PHP加密扩展库Mcrypt应用 先看一个例子

基于Nodejs的微信消息加密与解密实现概要

老子叫甜甜 提交于 2019-12-06 21:21:22
微信团队提供了 多种语言的示例代码 ,但不包含Nodejs实现版本。经过大量查证和尝试,我已完成并测试通过,下面说说实现要点。 准备 Nodejs为 0.12.1 版或 0.12.2 版,当前最新稳定版。 平台支持Windows和Linux。 基于Python版本改写,通过Python的加解密验证及实际部署验证。 关键点 密匙 key 应当通过 Buffer 转换为binary字符串。 通过 String.fromCharCode 获得补位所用的字符,通过 charCodeAt 判断需要删除的补位字符长度。 设置明文长度时,应通过 Buf.writeUInt32BE 写入,并转换为binary字符串;读取时,使用 Buf.readUInt32BE 。 加密时,XML原文需通过 Buffer 转换为binary字符串。 加密使用 crypto.createCipheriv ,解密使用 crypto.Decipheriv ;须设置 cipher.setAutoPadding(auto_padding=false) ,否则不能正确加解密。 加密时,输入编码为 binary ,输出编码为 base64 。 解密时,输入编码为 base64 ,输出编码为 utf8 。 每个中文字符通过Buffer转换后,实际计算长度为3,因此最后分离 from_appid 时,需便宜行事:P 密匙 key

KMS密钥管理服务(Hadoop)

烈酒焚心 提交于 2019-12-06 21:12:46
##前言 KMS 是Hadoop下的一个密钥管理服务,它实际是与Hadoop结合,提供HDFS文件做AES加密用的。所以它是用来存储AES秘钥的,AES提供三种位数的秘钥,分别是 128 , 192 , 256 ,所以KMS只能存储这三种位数的 byte 数组。 如果你是为了给HDFS文件加密,那么直接通过配置就可以完成,它与Hadoop能够完美契合,由Hadoop调用自动产生秘钥并管理秘钥。但是HDFS文件加密粒度太粗,我们的数据并非要全部加密,而当前针对Hive表列的加密并没有集成方案,官方提供了AES的encrypt函数,但是秘钥key还需明文传入。这样对集群来说其实很不安全。 如果我们自己实现加密UDF,然后借用KMS来做密钥管理,在KMS上加上Kerberos认证,秘钥的处理就可以都封装在UDF内部,不对外暴露,而且可以实现身份认证。 KMS本身提供了一系列API来创建,获取和维护密钥,官网介绍中主要以 RESTFUL 的形式提供,但如果集群上了Kerberos,请求的认证在RESTFULL里就不好做(具体没操作过)。在Hadoop源码里,提供了 KMSClientProvider 用于Hadoop的加密,所以我们可以利用这个接口来获取KMS服务,实现创建管理密钥。 ##配置 KMS是一个Web服务,只需要在一台机器上配置即可,其主要配置文件是 kms-site.xml

谁更安全?WI-FI无线网加密方式大比拼

霸气de小男生 提交于 2019-12-05 13:49:45
  哪里有隐私,哪里就有安全防护。随着无线网络的普及,在商场、街上、餐厅搜索到无线信号并不出奇,这些无线热点一般都是免费的提供,并不对信号进行加密。但对于家庭来说,如果自己付款的宽带网络因无线信号没有加密而给别人免费享用并占用了大量的带宽这可不是一件愉快的事情。那么应该如何选择WI-FI无线网加密方式呢?   两种常用的加密WEP、WPA   目前,无线网络中已经存在好几种加密技术,最常使用的是WEP和WPA两种加密方式。无线局域网的第一个安全协议—802.11 Wired Equivalent Privacy(WEP),一直受到人们的质疑。虽然WEP可以阻止窥探者进入无线网络,但是人们还是有理由怀疑它的安全性,因为WEP破解起来非常容 易,就像一把锁在门上的塑料锁。   WEP安全加密方式   WEP特性里使用了rsa数据安全性公司开发的rc4 prng算法。全称为有线对等保密(Wired Equivalent Privacy,WEP)是一种数据加密算法,用于提供等同于有线局域网的保护能力。使用了该技术的无线局域网,所有客户端与无线接入点的数据都会以一个共享的密钥进行加密,密钥的长度有40位至256位两种,密钥越长,黑客就需要更多的时间去进行破解,因此能够提供更好的安全保护。   WPA安全加密方式   WPA加密即Wi-Fi Protected Access

AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】

荒凉一梦 提交于 2019-12-04 19:16:03
由于本人小菜,开始对AES加密并不了解,在网络上花了比较多时间查阅资料整理; 先简单从百度找来介绍: 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称高级加密标准Rijndael加密法, 是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界 所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日 发布于FIPS PUB197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密 中最流行的算法之一。该算法为比利时密码学家Joan Daemen和VincentRijmen所设计,结合两位作者的名 字,以Rijndael之命名之,投稿高级加密标准的甄选流程。(Rijdael的发音近于 "Rhinedoll"。) AES加密模式和填充方式(其实还有还几种填充方式没写上,开始时候也在这里绕了一下) 算法/模式/填充 16字节加密后数据长度 不满16字节加密后长度 AES/CBC/NoPadding 16 不支持 AES/CBC/PKCS5Padding 32 16 AES/CBC/ISO10126Padding 32 16 AES/CFB/NoPadding 16 原始数据长度 AES/CFB/PKCS5Padding

4.请求安全-- 结合使用的安全优势总结

拥有回忆 提交于 2019-12-04 15:02:07
#结合使用的安全优势与总结# ##前言## 写到这里基本上笔者在请求中遇到的问题,以及运用到实践中的解决方案,基本上分为,请求唯一性,单设备登录,单点登录,MD5校验 这几种校验的小技巧,在之前都对着几种校验方式进行也一些独立的说明(还没有看过的可以先去游览查阅一下,在请求安全模块中) 在本章里面会着重说明怎么样综合使用,如何获得比较高的安全性,以及会简单介绍一下方便使用的一种高级加密方法. ##1.回顾## ###1.1 单设备登录.单点登录### 每次调用登录接口获取的ID都是一个临时ID.当下次登录的时候重新生成在覆盖,就可以达到单设备登录的 效果了,这个临时ID对应着真正的用户ID每次客户端请求都是拿着临时ID请求过来然后服务器做验证,而且 这个临时ID和真正ID是存储在一个共享的区域,其他的模块都能获取到这一项对应 ###1.2 MD5校验### MD5在请求安全中关键用到的基本上就是对于请求参数进行校验,对与服务器来言排除系统问题最大的问题 就是害怕请求被拦截,拦截修改之后就有很多漏洞的可能性了, 为了避免被拦截,参数被修改这种文件的常 用方法就是对请求参数进行校验,就算拦截了请求参数修改了只要模拟不出MD5加密出来的值,在服务器过滤 器直接就会进行拦截. 我这边推荐的请求校验方法在传递参数的时候带上 MD5值 随机数 时间戳 当然这几 个都是由客户端生成 MD5

加密解密验签概念理解

微笑、不失礼 提交于 2019-12-04 05:49:44
基本概念: 加密:发送方利用接受方的公钥对要发送的明文进行加密。 解密:接收方利用自己的私钥进行解密。 公钥与私钥是配对的,用公钥加密的文件,只有对应的私钥才能解密,反过来,用私钥加密,用对应的公钥进行解密。 签名:发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私钥对摘要进行加密,得到的就是这个报文对应的数字签名,通常来说,发送方会将数字签名和报文原文一并发送接收者,方便接收者进行验签。 验签:接收方得到原始报文和数字签名后,用同一个哈希函数从报文中生成报文摘要A,另外,用发送方提供的公钥对数字签名进行解密,得到摘要B,对比A和B是否相同,就可得知报文有没有被篡改过。 公钥密码体制: 原理就是加密密钥与解密密钥分离,这样一个具体用户就可将自己设计的加密密钥和算法公诸于众,而只保密解密密钥。任何人都可利用这个加密密钥和算法向该用户发送加密信息,该用户均可通过解密密钥将之还原。公共密钥密码的优点就是不需要经安全渠道传递密钥,大大简化了密钥管理。它的算法又是也称之为公开密钥算法或简称公约算法。 公钥加密算法: 公钥加密算法中使用最广的是RSA,RSA使用两个密钥,一个公共密钥,一个专用密钥。如用其中一个加密,则可用另一个解密,密钥长度从40到2048bit可变。加密是也把明文分成快,块的大小可变,但不可能超过密钥的长度,RSA算法吧每一块明文转化为与密钥长度相同的密文块