先来做个说明:nginx本身不能处理PHP,它只是个web服务器。当接收到客户端请求后,如果是php请求,则转 […]
如何让引用的dll随附的xml注释文档、pdb调试库等文件不出现在项目输出目录中
项目输出目录(bin/debug|release)中经常是这个样子: [crayon-686676299957 […]
centos7调整根目录挂载分区容量大小
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#1.查看分区 df -h #2.备份home分区文件 tar cvf /tmp/home.tar /home #3.卸载/home,如果无法卸载,先终止使用/home文件系统的进程 fuser -km /home/ umount /home #4.删除/home所在的lv lvremove /dev/mapper/centos-home #5.扩展/root所在的lv,增加800G lvextend -L +800G /dev/mapper/centos-root #6.扩展/root文件系统 xfs_growfs /dev/mapper/centos-root #7.重新创建home lv lvcreate -L 40G -n /dev/mapper/centos-home #8. 创建文件系统 mkfs.xfs /dev/mapper/centos-home #9.挂载home mount /dev/mapper/centos-home #10.home文件恢复 tar xvf /tmp/home.tar -C /home/ cd /home/home/ mv * ../ |
centos6.5重新调整/home和跟目录/大小
0. 说明 系统刚刚安装完之后,默认到/home有1.5TiB,而根分区只有200G。现在是要将VolGrou […]
将HTML5 打包成桌面EXE的流程(node-webkit)
1、首先,下载 node-webkit 点击打开链接 2、将HTML5项目文件夹下面的 html、js、css […]
利用Dnsmasq来搭建一个属于自己的本地DNS服务器
默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就 […]
允许远程用户登录访问mysql的方法
需要手动增加可以远程访问数据库的用户。 方法一、本地登入mysql,更改 “mysql” […]
配置Composer支持本地仓库
The official address:https://getcomposer.org/doc/05-rep […]
Composer将远程的包更改为本地开发模式
有时候我们会遇到线上的 composer 开发包功能不是很完善,但是很多功能我们还能够用到,我们只能自己去修改 […]
Composer实在是太棒了
用Composer吧! 理由听我娓娓道来! PHP最早读取套件的方法 初学PHP时,最早会面对的问题之一就是r […]
PHP 开发者该知道的 5 个 Composer 小技巧
本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方便。 1. 仅更新单个库 只想更新某个特 […]
Python爬虫:Xpath语法笔记
一、选取节点 常用的路劲表达式: 表达式 描述 实例 nodename 选取nodename节点的所有子节点 […]
yii2加载第三方自动模式(composer)与手动模式
在web应用的开发模式下,我们不可避免的总会遇到对第三方api的集成。比如支付宝支付和微信支付的sdk,再或者 […]
常用 composer 包推荐
名称 用途说明 说明地址 mashape/unirest-php 简单易用的HTTP请求库 官网 guzzle […]
nginx代理https后,应用redirect https变成http
情况说明 nginx 代理https后,应用redirect https变成http 情况类似 http:// […]
ZIPPO的日常维护手册
1、几种机身面的划痕比较 ZIPPO最常见的几种机身材料为200(经典铬)205(细磨沙)207(仿旧碎花)2 […]
命令行方式调用winrar对文件夹进行zip压缩示例代码
a 添加文档,必须要有,否则不会输出压缩文件。 -k 锁定压缩文件 -r 包括子目录 -m1 使用最快方式(低 […]
Shell脚本调试的几种方式
脚本调试的主要工作就是发现引发脚本错误的原因以及脚本源代码中定位错误行。归纳汇总了下,调试脚本时,我们可能会用 […]
常用字符串加密解密方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Text.RegularExpressions; using System.Web.Security; namespace HuaTong.General.Utility { /// <summary> /// 加密工具类 /// </summary> public class EncryptHelper { //默认密钥 private static string AESKey = "[45/*YUIdse..e;]"; private static string DESKey = "[&HdN72]"; /// <summary> /// AES加密 /// </summary> public static string AESEncrypt(string value, string _aeskey = null) { if (string.IsNullOrEmpty(_aeskey)) { _aeskey = AESKey; } byte[] keyArray = Encoding.UTF8.GetBytes(_aeskey); byte[] toEncryptArray = Encoding.UTF8.GetBytes(value); RijndaelManaged rDel = new RijndaelManaged(); rDel.Key = keyArray; rDel.Mode = CipherMode.ECB; rDel.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = rDel.CreateEncryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); return Convert.ToBase64String(resultArray, 0, resultArray.Length); } /// <summary> /// AES解密 /// </summary> public static string AESDecrypt(string value, string _aeskey = null) { try { if (string.IsNullOrEmpty(_aeskey)) { _aeskey = AESKey; } byte[] keyArray = Encoding.UTF8.GetBytes(_aeskey); byte[] toEncryptArray = Convert.FromBase64String(value); RijndaelManaged rDel = new RijndaelManaged(); rDel.Key = keyArray; rDel.Mode = CipherMode.ECB; rDel.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = rDel.CreateDecryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); return Encoding.UTF8.GetString(resultArray); } catch { return string.Empty; } } /// <summary> /// DES加密 /// </summary> public static string DESEncrypt(string value, string _deskey = null) { if (string.IsNullOrEmpty(_deskey)) { _deskey = DESKey; } byte[] keyArray = Encoding.UTF8.GetBytes(_deskey); byte[] toEncryptArray = Encoding.UTF8.GetBytes(value); DESCryptoServiceProvider rDel = new DESCryptoServiceProvider(); rDel.Key = keyArray; rDel.Mode = CipherMode.ECB; rDel.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = rDel.CreateEncryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); return Convert.ToBase64String(resultArray, 0, resultArray.Length); } /// <summary> /// DES解密 /// </summary> public static string DESDecrypt(string value, string _deskey = null) { try { if (string.IsNullOrEmpty(_deskey)) { _deskey = DESKey; } byte[] keyArray = Encoding.UTF8.GetBytes(_deskey); byte[] toEncryptArray = Convert.FromBase64String(value); DESCryptoServiceProvider rDel = new DESCryptoServiceProvider(); rDel.Key = keyArray; rDel.Mode = CipherMode.ECB; rDel.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = rDel.CreateDecryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); return Encoding.UTF8.GetString(resultArray); } catch { return string.Empty; } } public static string MD5(string value) { byte[] result = Encoding.UTF8.GetBytes(value); MD5 md5 = new MD5CryptoServiceProvider(); byte[] output = md5.ComputeHash(result); return BitConverter.ToString(output).Replace("-", ""); } public static string HMACMD5(string value, string hmacKey) { HMACSHA1 hmacsha1 = new HMACSHA1(Encoding.UTF8.GetBytes(hmacKey)); byte[] result = System.Text.Encoding.UTF8.GetBytes(value); byte[] output = hmacsha1.ComputeHash(result); return BitConverter.ToString(output).Replace("-", ""); } /// <summary> /// base64编码 /// </summary> /// <returns></returns> public static string Base64Encode(string value) { string result = Convert.ToBase64String(Encoding.Default.GetBytes(value)); return result; } /// <summary> /// base64解码 /// </summary> /// <returns></returns> public static string Base64Decode(string value) { string result = Encoding.Default.GetString(Convert.FromBase64String(value)); return result; } } } |
证书格式简介及不同格式之间的转换方式
1.证书格式 PEM 格式 PEM格式通常用于数字证书认证机构(Certificate Authorities […]
用Java流方式判断文件类型
首先是文件类型枚取
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
package org.filetype; /** * 文件类型枚取 */ public enum FileType { /** * JEPG. */ JPEG("FFD8FF"), /** * PNG. */ PNG("89504E47"), /** * GIF. */ GIF("47494638"), /** * TIFF. */ TIFF("49492A00"), /** * Windows Bitmap. */ BMP("424D"), /** * CAD. */ DWG("41433130"), /** * Adobe Photoshop. */ PSD("38425053"), /** * Rich Text Format. */ RTF("7B5C727466"), /** * XML. */ XML("3C3F786D6C"), /** * HTML. */ HTML("68746D6C3E"), /** * Email [thorough only]. */ EML("44656C69766572792D646174653A"), /** * Outlook Express. */ DBX("CFAD12FEC5FD746F"), /** * Outlook (pst). */ PST("2142444E"), /** * MS Word/Excel. */ XLS_DOC("D0CF11E0"), /** * MS Access. */ MDB("5374616E64617264204A"), /** * WordPerfect. */ WPD("FF575043"), /** * Postscript. */ EPS("252150532D41646F6265"), /** * Adobe Acrobat. */ PDF("255044462D312E"), /** * Quicken. */ QDF("AC9EBD8F"), /** * Windows Password. */ PWL("E3828596"), /** * ZIP Archive. */ ZIP("504B0304"), /** * RAR Archive. */ RAR("52617221"), /** * Wave. */ WAV("57415645"), /** * AVI. */ AVI("41564920"), /** * Real Audio. */ RAM("2E7261FD"), /** * Real Media. */ RM("2E524D46"), /** * MPEG (mpg). */ MPG("000001BA"), /** * Quicktime. */ MOV("6D6F6F76"), /** * Windows Media. */ ASF("3026B2758E66CF11"), /** * MIDI. */ MID("4D546864"); private String value = ""; /** * Constructor. * * @param type */ private FileType(String value) { this.value = value; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } } |
然后是类型判断核心类 [ […]
系统开发与设计可行性研究报告
1、引言 1.1编写目的??【阐明编写可行性研究报告的目的,指出读者对象。】 1.2项目背景??【应包括:a. […]
Centos上crontab计划任务
1 2 3 4 5 |
yum install vixie-cron yum install crontabs /bin/systemctl restart crond.service #启动服务 /bin/systemctl reload crond.service #重新载入配置 /bin/systemctl status crond.service #查看crontab服务状态 |
1、crontab相关命令 功能说明:设置计 […]
Linux下2>&1使用
一 相关知识 1)默认地,标准的输入为键盘,但是也可以来自文件或管道(pipe |)。 2)默认地,标准的输出 […]
在MAC系统里添加Nginx开机启动任务
贴代码之前,大家先普及基础知识,链接在此: http://www.tanhao.me/talk/1287.ht […]