当幸福来敲门的时候,我怕我不在家,所以一直都很宅
-
朝代顺口溜
三皇五帝始,尧舜禹相传;
夏商与西周,东周分两段;
春秋和战国,一统秦两汉;
三分魏蜀吴,二晋前后沿;
南北朝并立,隋唐五代传;
宋元明清后,皇朝至此完。 -
睡觉前到底要不要玩手机
老师:“在我的课上不允许玩手机,实在不想听的可以睡觉”
小明怯怯地举手:“可是老师,睡觉之前我想玩会手机……”
然后我就再也没有见过小明 -
二十四节气
春雨惊春清谷天,夏满芒夏暑相连。
秋处露秋寒霜降,冬雪雪冬小大寒。
每月两节不变更,最多相差一两天。
上半年来六廿一,下半年是八廿三。 -
爱情婚姻生命
爱情的本质是冲动,婚姻的本质是习惯,生命的本质是孤独。
-
PHP 按指定顺序重命名文件
有的时候总会遇到这样的问题,一个文件夹中每个单位一个文件,不想保存文件时就编好文件顺序,找了下 CMD 批处理好像不太好解决,于是乎想到可以用 PHP 来实现
$name = array('北京', '上海', '天津', '重庆'); $dir = scandir('./'); foreach ($dir as $item) { if (is_file($item)) { foreach ($name as $key => $value) { //数组排序是从0开始,1位数字的补足2位 $key = str_pad(++$key, 2, 0, STR_PAD_LEFT); if (false !== stripos($item, $value)) { echo "\n\t将把 ".$item.' 重命名为 '.$key . $item."\n"; sleep(1); rename($item, $key . $item); } } } } echo "\n\t\t重命名结束";
把上面的代码保存为
rename.php
,然后把php.exe
、php7.dll
、rename.php
放到文件夹rename
新建一个批处理rename\php rename.php
把这个批处理和rename
文件夹复制到需要重命名的文件夹,运行批处理就可以解决问题了 -
ExifTool 为照片添加中文注释
ExifTool 所说是查看修改 EXIF 信息最好的工具,但是在 Windows 下如果要添加中文注释大都因为编码问题导致是乱码而无法读取,通过生成临时文件的方法可以解决这个问题
@echo off color 1C chcp 65001 cls echo. echo. echo 请输入需要修改的图片的描述信息 echo. set /p description= echo %description% > %temp%\tmp.txt exiftool -k -P -overwrite_original "-ImageDescription<=%temp%\tmp.txt" *.jpg del %temp%\tmp.txt
-
Excel 准确计算年初年尾周数
有的时候想要计算全年的周数,比如下面这个表,不管是用=ISOWEEKNUM(B2),还是=WEEKNUM(B2,2),都会面临年初年尾都没达到预期的问题,虽然可以通过计算C2来临时解决问题,但是换一年呢
周 一 二 三 四 五 六 日 1 2018-12-31 2019-1-1 2019-1-2 2019-1-3 2019-1-4 2019-1-5 2019-1-6 2 2019-1-7 2019-1-8 2019-1-9 2019-1-10 2019-1-11 2019-1-12 2019-1-13 …… …… …… …… …… …… …… …… 52 2019-12-23 2019-12-24 2019-12-25 2019-12-26 2019-12-27 2019-12-28 2019-12-29 53 2019-12-30 2019-12-31 2020-1-1 2020-1-2 2020-1-3 2020-1-4 2020-1-5 但是变成 WEEKNUM(MEDIAN(DATE(2019,1,1),DATE(2019,12,31),B2),2) 的话就完美达到预期
这其中重点是 MEDIAN,这个函数奇数个参数的时候是返回中间值,不是平均值,所以加一个年初1月1日,年尾12月31日,确保出现的任何一个日期都是在年内的,计算出的周数当然也是我们想要的了
-
Windows 下使用 OpenSSL 生成自签名证书
解决了几个问题,1.生成自签名根证书,2.生成中间证书,3.为网站签发证书,4.多域名多IP签发证书
首先下载 OpenSSL 解压,打开cmd,切换到 OpenSSL 目录,将当前上当添加到环境变量便于操作
set path=%path%%cd%;
创建目录来保存所有东西
mkdir ca
创建openssl的工作目录,不会自动创建相关文件,很坑的一个东西,后面会说到
mkdir .\demoCA\newcerts cd . > demoCA\index.txt cd . > demoCA\index.txt.attr cd . > demoCA\cacert.pem echo 01 > .\demoCA\serial
复制一个配置文件以便可以生成中文根证书
copy openssl.cnf openssl-ca.cnf
修改openssl-utf8.cnf,修改前把字符编码调整为UTF-8或者修改完另存为UTF-8编码
修改 [ CA_default ] 段copy_extensions = copy
修改 [ req_distinguished_name ]段,有些_default没得的自己对照复制一个就可以了
countryName_default = CN stateOrProvinceName_default = 北京市 localityName_default = 海淀区 0.organizationName_default = 百度公司 organizationalUnitName_default = 百度公司的一个部门 commonName_default = 百度 emailAddress_default = [email protected]
不改配置的话可能会有这些错误
The commonName field needed to be supplied and was missing
复制一个配置文件以便可以生成中文证书,修改内容同上
copy openssl.cnf openssl-subca.cnf
修改[ policy_match ]段,这段用根CA生成网站证书的时候会用到
countryName = supplied stateOrProvinceName = supplied organizationName = supplied
不改的话会提示
The stateOrProvinceName field is different between CA certificate and the request
复制一个配置文件以便可以生成网站
copy openssl.cnf openssl-web.cnf
在[ v3_req ]段最后添加下面这些内容,签发多域名证书的关键,IP访问的必须设置成IP,不这样操作 Chrome 会报错
subjectAltName = IP:192.168.1.1,IP:192.168.1.2 subjectAltName = DNS:www.baidu.com, DNS:pan.baidu.com
其它内容同上,commonName 一般情况下是网址,如果配置了subjectAltName也可以不是
生成私钥、证书请求、根证书,batch表示不弹出提示,避免乱码openssl genrsa -out ./ca/ca.key 4096 openssl req -new -utf8 -config openssl-ca.cnf -key ./ca/ca.key -out ./ca/ca.csr -batch openssl ca -utf8 -config openssl-ca.cnf -in ./ca/ca.csr -out ./ca/ca.cer -keyfile ./ca/ca.key -selfsign -startdate 20000101000000Z -enddate 21000101000000Z -extensions v3_ca -rand_serial
网上通用是通过 x509 设置,但是官方文档说了这样不能设置 startdate 和 enddate ,-preserve_dates 应该是与 -CA 一起用的
openssl x509 -req -in ./ca/ca.csr -out ./ca/ca.cer -signkey ./ca/ca.key -extfile openssl-ca.cnf -extensions v3_ca -days 41882 -set_serial 01 openssl x509 -in ./ca/ca.cer -text
现在把ca.cer安装到「受信任的根证书颁发机构」,用配套私钥签发的证书就像真的一样
或者还有更简单的一句话解决,没有私钥的情况下openssl req -x509 -days 41882 -newkey rsa:4096 -utf8 -config openssl-ca.cnf -keyout ./ca/ca.key -out ./ca/ca.cer -batch -nodes -extensions v3_ca
有私钥的情况下
openssl req -new -x509 -days 41882 -utf8 -config openssl-ca.cnf -key ./ca/ca.key -out ./ca/ca.cer -batch -extensions v3_ca
生成子证书,与生成网站证书的区别在于 -extensions v3_ca
openssl genrsa -out ./ca/subca.key 2048 openssl req -new -utf8 -config openssl-subca.cnf -key ./ca/subca.key -out ./ca/subca.csr -batch openssl ca -utf8 -config openssl-subca.cnf -in ./ca/subca.csr -out ./ca/subca.cer -cert ./ca/ca.cer -keyfile ./ca/ca.key -startdate 20111111000000Z -enddate 20380101000000Z -rand_serial -extensions v3_ca
然后假装是大佬给小网站发证书
生成私钥、证书请求、根证书,密码长度越长越慢,越短越不安全,当前一般为2048openssl genrsa -out ./ca/web.key 2048 openssl req -new -utf8 -config openssl-web.cnf -key ./ca/web.key -out ./ca/web.csr -batch
重点来了,用根证书或者中间证书给这个请求签发证书
openssl ca -in ./ca/web.csr -out ./ca/web.cer -cert ./ca/subca.cer -keyfile ./ca/subca.key -utf8 -config openssl-web.cnf -startdate 20180828000000Z -enddate 20380828000000Z -extensions v3_req -rand_serial openssl x509 -in ./ca/web.cer -text
然后证书就已经生成好了,web.cer 和 web.key 两个是最重要的,现在可以用了
如果要把所有的打包到一起openssl pkcs12 -export -out ./ca/ca.p12 -inkey ./ca/ca.key -in ./ca/ca.cer
如果没有 demoCA 那一堆操作,可能会遇到这些坑
./demoCA/newcerts: No such file or directory 15828:error:02001002:system library:fopen:No such file or directory::0:fopen('./demoCA/index.txt.attr','r') error while loading serial number 15828:error:02001002:system library:fopen:No such file or directory::0:fopen('./demoCA/serial','r') Can't open ./demoCA/cacert.pem for reading, No such file or directory unable to load certificate
另外如果你用 Windows 证书管理器导出的CA有时需要提取私钥公钥
openssl pkcs12 -in ./ca/ca.p12 -nocerts -nodes -out ./ca/temp.key
提取私钥
openssl rsa -in ./ca/temp.key -out ./ca/web.key
提取公钥
openssl rsa -in ./ca/temp.key -pubout -out ./ca/web.pub
-
餐饮业一个事后营销的脑洞
现在的餐饮业营销好像都主要集中于前端,比如菜品8折、抢6折优惠券、啤酒免费、火锅锅底免费、满200减20等等之类的,这些营销对于消费者来说都是吃之前就有心理预期,不过好像现在大部分的行业都是这样营销的,网上营销也跳不出这个坑,今天吃饭的时候突然想到如果我来做餐饮我就做个事后营销,因为没人做啊
(更多…) -
支付宝微信如何打开线下的一个脑洞
最近支付宝搞的免费发红包的活动确实有点发动人民群众的意思,但是我感觉还是有些人不知道,为什么不知道,因为整个城市(N线不发达城市)可能80%的人都不知道也不关心,当然没达到效果,因为支付宝的优势是商家,微信的优势是人脉,所以有个脑洞给支付宝建议下,真正打通线上线下,把现在推广的无人超市变自助超市,一步一步来,微信挡都挡不住
(更多…) -
Android SDK 工具包下载
经常刷机必备的软件就是 adb,fastboot,不过如果版本太老的话会出一些奇怪的问题,幸好Google 提供了官方最新的工具包
https://developer.android.google.cn/studio/releases/platform-tools.html
Windows 版 https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Mac 版 https://dl.google.com/android/repository/platform-tools-latest-darwin.zip
Linux 版 https://dl.google.com/android/repository/platform-tools-latest-linux.zip -
论选人的重要性
当年日本人为了从五星巴西学习足球经验,请巴西人来本国执教,归化巴西球员,结果日本足球成了亚洲一流,世界杯常客。
若干年后中国也效仿日本,选择了四星意大利,请来了里皮,卡佩罗,卡纳瓦罗当教练,效果也立竿见影,中国把意大利带出了世界杯 -
准确查找重复身份证号
通常查找重复身份证号的方法,一是用 Excel 自带的条件格式(单击“开始”>“条件格式”>“突出显示单元格规则”>“重复值”),另一种是使用
=COUNTIF(A:A,A2)
通过判断出现次数来查找重复,但很多不同的身份证号都被视为相同的,在处理大量数据时会非常影响效率
(更多…) -
迪丽热巴变身慵懒不羁的Cool Girl!
迪丽热巴对时尚驾驭能力又添惊喜,小仙女变身慵懒不羁的Cool Girl!越来越美了有木有!!
(更多…) -
Flash Player 离线安装包下载地址
现在官方停止更新了,也没有下载了
Flash Player 官方给的页面都是在线安装包,对于有些需要离线安装包的人来说不太方便,通过这个方法可以方便下到最新的离线安装包,而且也只能下到最新的
(更多…) -
SharePoint 2016 SPUpgradeException 错误解决方法
安装完 SharePoint Server 2016 运行产品配置向导时出现错误,提示信息
未能创建数据库。
已引发 Exception:Microsoft.SharePoint.Upgrade.SPUpgradeException 的异常。其它异常信息:未能加载一个或多个类型。检查数据库时发现数据库已经生成了,在网上搜索了好久都没能解决问题,最后发现还是搜英文管用
(更多…) -
论如何机智回答老师的问题
今天答辩,老师问某同学:“你这防撞系统,大雾天气高速公路能用吗?”这位大神上看看,下看看,挠挠头说:“大雾天气,高速不让上。”老师埋起头,竖起了大拇指。