update

模块 hashlib 加密 签名 防篡改

淺唱寂寞╮ 提交于 2019-12-30 19:26:14
hashlib 模块 加密算法: hash (152位)散列 哈希 不可逆得 密码背后就是 hash 程序退出hash 值就变了 ,hash值得结果有可能重复 MD5 (128位) 讯息摘要演算法 基于哈希得 一种加密算法 可产生128位得散列值 (hash value) 永远都不会变 MD5功能: 1.输入任意长度的信息,经过处理,输出为128位的信息(数字指纹); 2.不同的输入得到的不同的结果(唯一性); MD5算法的特点: 压缩性:任意长度的数据,算出的MD5值的长度都是固定的 容易计算:从原数据计算出MD5值很容易 抗修改性:对原数据进行任何改动,修改一个字节生成的MD5值区别也会很大 强抗碰撞:已知原数据和MD5,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。 MD5不可逆的原因是其是一种散列函数,使用的是hash算法,在计算过程中原文的部分信息是丢失了的。 MD5用途: 1.防止被篡改: 比如发送一个电子文档,发送前,我先得到MD5的输出结果a。然后在对方收到电子文档后,对方也得到一个MD5的输出结果b。如果a与b一样就代表中途未被篡改。 比如我提供文件下载,为了防止不法分子在安装程序中添加木马,我可以在网站上公布由安装文件得到的MD5输出结果。 SVN在检测文件是否在CheckOut后被修改过,也是用到了MD5. 2.防止直接看到明文:

Linux软件包安装(rpm、yum、apt-get)

我只是一个虾纸丫 提交于 2019-12-30 12:30:24
转载自: https://blog.csdn.net/wzq__janeGreen_/article/details/81774924 rpm/yum适用于Redhat、CentOS、Suse等平台; apt-get/dpkg适用于Debian、Ubuntu等平台; zypper适合于Suse平台。 rpm常用命令 rpm -ivh 软件包名称 rpm -uvh 软件包名称 rpm -e 软件名称 rpm -qa | grep 软件名称 rpm -ql 软件名称 rpm -qf 文件绝对路径 http://rpmfind.net/ yum常用命令(Redhat安装rpm包) yum repolist yum install 软件名称 yum -q install /usr/bin/iostat yum update yum remove 软件名称 yum list yum search 关键词 yum info package yum localinstall *.rpm yum install oracle-validated apg-get常用命令 在Ubuntu下,apt-get近乎是最常用的shell命令之一了,因为他是Ubuntu通过新立得安装软件的常用工具命令。 本文列举了常用的APT命令参数: apt-cache search package 搜索软件包 apt

ubuntu14.04 upgrade fail initramfs-tools

和自甴很熟 提交于 2019-12-30 12:24:54
fedorayang@ynlhost:~$ sudo apt-get dist-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 7 not fully installed or removed. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] y Setting up initramfs-tools (0.103ubuntu4.7) ... update-initramfs: deferring update (trigger activated) Setting up linux-image-3.13.0-113-generic (3.13.0-113.160) ... Running depmod. update-initramfs: deferring update (hook will be called

mybatis初识

…衆ロ難τιáo~ 提交于 2019-12-30 10:53:23
mybatis初识 1、概念 1.1、什么是mybatis mybatis是一款orm框架,主要用来操作数据库。 1.2、jdbc、jpa、mybatis三者的区别 jdbc 最原生操作数据库,它特点:执行效率高,但是开发效率低。 jdbc自己手动写sq|语句,所以性能高。 jdbc自己手动写sq|语句,所以性能高。 jpa jpa:它是对jdbc的封装它特点:开发效率高, 执行效率低。 开发效率高:直接调用api即可。 就能完成对应的crud。 执行效率低:因为sq|语句它是自动生成的, 我们不能很好控制。 mybatis mbatis特点:开发效率要比jdc高, 执行效率要比jpa高。 mybatis是一个orm框架, 它消除了重复代码, mybatis是自己手动写sq|语句。 1.3、ORM 概念     ORM:对象关系映射(Object Relational Mapping,简称ORM),是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 ORM框架映射方式     常用的有两种: Sql操作方式(对jdbc进行封装):把SQL配置到配置文件中,通过不同SQL中完成对象实体和数据库关系相互转换的操作。(mybatis的实现方式) 完整映射:直接映射的是对象实体和数据库关系映射。操作数据库关系,不用写SQL有框架自己生成。(JPA、Hibenate实现方式)

linux安装android sdk

不想你离开。 提交于 2019-12-30 03:27:50
https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip 1,先安装java https://developer.android.com/studio/ 下载linux sdk 找到tools 执行 ./android update sdk 或./android update sdk --no-ui 上面的命令已经不建议使用了,用bin/sdkmanager --update 发现没有build-tools 进入bin下,发现sdkmanager 执行 ./sdkmanager "platforms;android-26" 相关sdkmanager命令可以查看 https://developer.android.com/studio/command-line/sdkmanager List installed and available packages sdkmanager --list Install packages sdkmanager "platform-tools" "platforms;android-17" 具体值可以在--list中得到 "build-tools;28.0.3" Update all installed packages sdkmanager --update 来源:

INSERT 中ON DUPLICATE KEY UPDATE的使用

血红的双手。 提交于 2019-12-29 23:53:00
使用场景,在做全国各省ip访问统计时要将sparkStreaming的数据存在mysql中,按照一般设计,id,province,counts,time,这样就需要每次清空表,但是如果多分区的话就存在删除表的时候回出现后一个分区可能把前一个分区的数据删除掉,当然最好的办法是每次都只更新而不删除,但是如果通过代码实现比较复杂. 此时我们需要的就是如果存在则更新,如果不存在则新增. 用redis的kv就可以很容易的实现.在MySQL中也有这样的功能.INSERT 中ON DUPLICATE KEY UPDATE 但是这个在在使用的时候需要把省份设置成key ,unique key .这也是根据业务场景设计表的实践 INSERT 中ON DUPLICATE KEY UPDATE的使用(本文重点) 如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个 UNIQUE索引或PRIMARY KEY 中出现重复值,则执行旧行UPDATE。例如,如果列a被定义为UNIQUE,并且包含值1,则以下两个语句具有相同的效果: Sql代码 mysql> INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; mysql> UPDATE table SET c=c+1 WHERE a=1;

INSERT 中ON DUPLICATE KEY UPDATE的使用

半腔热情 提交于 2019-12-29 23:52:48
使用场景,在做全国各省ip访问统计时要将sparkStreaming的数据存在mysql中,按照一般设计,id,province,counts,time,这样就需要每次清空表,但是如果多分区的话就存在删除表的时候回出现后一个分区可能把前一个分区的数据删除掉,当然最好的办法是每次都只更新而不删除,但是如果通过代码实现比较复杂. 此时我们需要的就是如果存在则更新,如果不存在则新增. 用redis的kv就可以很容易的实现.在MySQL中也有这样的功能.INSERT 中ON DUPLICATE KEY UPDATE 但是这个在在使用的时候需要把省份设置成key ,unique key .这也是根据业务场景设计表的实践 INSERT 中ON DUPLICATE KEY UPDATE的使用(本文重点) 如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个 UNIQUE索引或PRIMARY KEY 中出现重复值,则执行旧行UPDATE。例如,如果列a被定义为UNIQUE,并且包含值1,则以下两个语句具有相同的效果: Sql代码 mysql> INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; mysql> UPDATE table SET c=c+1 WHERE a=1;

INSERT 中ON DUPLICATE KEY UPDATE的使用

旧街凉风 提交于 2019-12-29 23:52:33
使用场景,在做全国各省ip访问统计时要将sparkStreaming的数据存在mysql中,按照一般设计,id,province,counts,time,这样就需要每次清空表,但是如果多分区的话就存在删除表的时候回出现后一个分区可能把前一个分区的数据删除掉,当然最好的办法是每次都只更新而不删除,但是如果通过代码实现比较复杂. 此时我们需要的就是如果存在则更新,如果不存在则新增. 用redis的kv就可以很容易的实现.在MySQL中也有这样的功能.INSERT 中ON DUPLICATE KEY UPDATE 但是这个在在使用的时候需要把省份设置成key ,unique key .这也是根据业务场景设计表的实践 INSERT 中ON DUPLICATE KEY UPDATE的使用(本文重点) 如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个 UNIQUE索引或PRIMARY KEY 中出现重复值,则执行旧行UPDATE。例如,如果列a被定义为UNIQUE,并且包含值1,则以下两个语句具有相同的效果: Sql代码 mysql> INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; mysql> UPDATE table SET c=c+1 WHERE a=1;

insert into on duplicate key update

ぐ巨炮叔叔 提交于 2019-12-29 23:52:17
问题 有一个表,建表语句如下: CREATE TABLE `tbl_host` ( `id` bigint(64) NOT NULL AUTO_INCREMENT, `ip` varchar(255) NOT NULL DEFAULT '', `host_name` varchar(2555) NOT NULL DEFAULT '', `timestamp` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `idx_ip` (`ip`) ) ENGINE=InnoDB AUTO_INCREMENT=84689426 DEFAULT CHARSET=utf8; 其中, id为主键,自增字段 ip字段为唯一键 插入和更新表时使用sql语句: insert into tbl_host(ip, host_name, timestamp) values ('%s', '%s', '%d') on duplicate key update host_name='%s', timestamp='%d' 当频繁update表记录时,通过 mysql> show create table tbl_host 发现AUTO_INCREMENT在不断增加。开始疑惑所使用的sql语句是不是有问题。 mysql官网给出说明: With

MySQL的INSERT ··· ON DUPLICATE KEY UPDATE使用的几种情况

社会主义新天地 提交于 2019-12-29 23:52:01
在MySQL数据库中,如果在insert语句后面带上ON DUPLICATE KEY UPDATE 子句,而要插入的行与表中现有记录的惟一索引或主键中产生重复值,那么就会发生旧行的更新;如果插入的行数据与现有表中记录的唯一索引或者主键不重复,则执行新纪录插入操作。另外,ON DUPLICATE KEY UPDATE不能写where条件。 示例: create table kid_score( id tinyint unsigned not null, birth_day date not null, score int unsigned not null, primary key(id, birth_day) --唯一索引是由 id + birth_day 两个字段组成 ) engine = InnoDB; --初始化数据 insert into kid_score(id, birth_day, score) values (1,'2019-01-15',10),(2,'2019-01-16',20); 下面开始验证执行INSERT ··· ON DUPLICATE KEY UPDATE语法的规则: 如果你插入的记录导致一个UNIQUE索引或者primary key(主键)出现重复,那么就会认为该条记录存在,则执行update语句而不是insert语句,反之