python怎么对文件进行加密解密

使用python的pycrypto库AES的CBC模式加密和解密文件 AES (Advanced Encryption Standard),它是一种加密对称密码算法,可用于加密和解密信息 。该算法可以使用 128、192 和 256 位的密钥,并对 128 位(16 字节)的数据块进行操作 。由于我们可能要加密大于 128 位的数据,因此我们需要使用块(block)模式进行加密。下面的例子会加密source.txt文件并将source.txt文件解密到target.txt文件 。 安装pycryptodome,文章使用Python 3.6.8 pip3 install pycryptodome Python脚本内容 #!/usr/bin/env python3 from Crypto.Util.Padding import pad, unpad from Crypto.Cipher…

继续阅读 python怎么对文件进行加密解密

Pinpoint服务端安装

1、创建软件目录并下载软件mkdir -p /hdapp/java/media && cd /hdapp/java/media && wget https://zhihui-file-server.oss-cn-hangzhou.aliyuncs.com/Software/javamedia/jdk-8u202-linux-x64.tar.gzmkdir -p /hdapp/hbase/media && cd /hdapp/hbase/media && wget --no-check-certificate https://dlcdn.apache.org/hbase/1.7.1/hbase-1.7.1-bin.tar.gz 2、安装软件 2.1 安装java环境解压并选择java安装目录cd /hdapp/java/media && tar -xf jdk-8u202-linux-x64.tar.gz && mv jdk1.8.0_202/ ../设置java环境变量添加一下内容至 ~/.bash_profileexport PATH=/hdapp/java/jdk1.8.0_202/bin:$PATHexport…

继续阅读 Pinpoint服务端安装

理解JVM架构

为了更好的使用JAVA生态系统的组件,每个JAVA开发者都应该学习理解JVM结构以及JAVA后台是怎么工作的。这篇文章将会介绍夯实的JVM的内部架构和技术。 写作背景 java是一个拥有上千万开发者的多范式(以类为基础的面向对象、结构化、指令型、广泛型、反射型、并发型)程序语言。在所有的知名排名网站、java已经位居榜首连续15年,数以万计的企业级应用程序使用java语言编写。是编写企业级应用程序的首选语言 我会翻译三篇文章理解JVM架构理解JAVA内存模型JAVA垃圾回收内部工作原理 JAVA环境 对任何程序语言来说,都需要构造一个环境。为了能够开发、编译、排查错误、和执行应用程序这个环境会包含所有需要的组件、应用程序接口、lib库等JAVA提供两种环境每个开发者在开发应用程序之前都需要设置好对应的环境 JRE(Java Runtime Environment):最小的java程序运行环境(不支持开发)JRE包含JVM(Java Virtual Machine)和部署相关的组件。JDK(Java Development Kit):用来开发和运行Java应用程序的完整的开发环境。包含JRE和一些开发工具以及debug组件。 JRE用来运行开发同事写好的java程序,JDK是程序员用来写JAVA代码的环境 JAVA运行原理 我们可以用任何终端编辑器(VIM、nano)或者图形界面编辑器(gedit、sublime)写一个简单的Java程序.但是为了实现复杂的Java应用程序,我们需要一个IDE(Intergrated(集成) Development Environment)比如 IntelliJ IDEA、Eclipse、Netbeans.一个经典的Java应用程序需要包含正确的Java语言语法和正确的.java格式。建议使用OOP(Object Oriented Programming)之类的编程概念和适当的体系结构模式,方便后续的维护。 Java语言优势是它的设计理念WORA(write once,run anywhere).Java源代码使用javac(此工具来自JDK)编译器编译成一个叫做bytecode的中间态(.classs 文件)这些bytecode是带有操作行数、十六进制(hexadecimal)格式的文件。 JVM可以将这些指令解释成操作系统和底层硬件平台可以理解的本机语言(不需要进一步编译)。因此,bytecode 扮演着一个独立于操作系统平台的中间态,可以在任意JVM之间移植,不需要关心底层操作系统和硬件架构如何。JVM可以运行应用程序、帮助代码和底层操作系统以及硬件通讯因此我们的操作系统支持(Windows、Linux、Mac),cpu(x86、x64)。 大多数人知道上面的JAVA相关故事,上面故事中的JVM对我们来说就像一个黑盒子,JVM神奇的解释bytecode,并且执行一些java程序运行时的其他操作比如JIT(just-in-time)compilation &GC(Garbage…

继续阅读 理解JVM架构

理解java内存模型

为了开发、压测、部署、调优一个java应用,必须要理解java的内存模型,这篇文章介绍JVM各个内存区域如何支持程序的正常运行。 JVM Memory Model 为了更好地运行一个java应用必须设置以下参数 -XmsSetting — 初始化heap大小-XmxSetting — 最大heap占用-XX:NewSizeSetting — 年轻代大小-XX:MaxNewSizeSetting — 最大年轻代占用-XX:MaxPermGenSetting — 最大permsize(java 8版本后更名为XX:MaxMetaspaceSize)-XX:SurvivorRatioSetting — 年轻代中eden与survivor的比例 (如果年轻代的大小设置为10M,并且–XX:SurvivorRatio=2,则Eden分配的内存为5M,两个survivor(survivor0、survivor1)分别为2.5M 默认为8)-XX:NewRatio — 老年代与年轻代的比例 (默认值 = 2) jvm在主机上的内存占用如下 JVM并不等同于Heap,JVM包含(Heap、非Heap、Cache)用来存储运行时数据和编译java代码. 1) Heap Memory Heap 分为两部分 — 年轻代 and 老年代Heap 在JVM启动时(也可理解为应用启动时)被分配 (I初始化大小: -Xms)Heap…

继续阅读 理解java内存模型

nginx 代理mysql

安装nginx nginx需要包含stream的module才可以代理tcp类型的请求,所以使用源码编译带--with-stream module的nginx 下载nginx安装包 cd /usr/local && wget http://nginx.org/download/nginx-1.9.9.tar.gz && tar -xf nginx-1.9.9.tar.gz  编译安装nginx cd /usr/local/nginx-1.9.9 && ./configure --prefix=/usr/local/nginx --with-stream && make -j4 && make install 配置nginx >/usr/local/nginx/conf/nginx.conf && vi /usr/local/nginx/conf/nginx.conf 填写nginx.conf文件内容如下 #user nobody;worker_processes…

继续阅读 nginx 代理mysql

如何挖比特币

最近比特币涨到4万刀一个,着实让人眼馋,那么家用电脑如何挖比特币呢。在准备挖比特币之前,有几点需要准备 如何挖比特币 准备工作 钱包 这里的钱包可以理解为手机银行app,里面有我们的账号信息,可以进行收款和转账。 挖矿的矿机 家用的windows,购买的服务器Linux甚至手机都可以。 挖矿的软件 软件会使用我们的矿机的CPU资源进行挖矿。 钱包 这里参照知乎文章https://zhuanlan.zhihu.com/p/71083716,我个人做了简化,如有不理解请参考原文 创建账号 这款钱包是界面非常干净的一款链上钱包,我们打开它:WalletUsing.com 点击左上角的三横 ​ 点击Add Asset: ​ 之后这里会罗列出众多支持的币种,我们任选一个币种点击其下方的Create(创建)按钮: ​ 这一步输入两次密码(秘密仅仅存在于本次操作,可以简单输入:123456789即可),然后点击Next: ​ 这里会显示出来12个助记词,这12个助记词最好拿笔记下来,使用这12个助词可以从任何去中心化钱包中恢复我们的钱包数据。 ​ 下载Exodus钱包 本段是本文的重点,要开始了。 首先打开Exodus钱包的网站:www.exodus.io ​ 这里选择win版下载下来(最好FQ下载,速度快很多,不然估计国内要等待一段时间),下载完成后,安装: ​…

继续阅读 如何挖比特币