Node.js与PHP之间通过RSA算法实现签名验证

Node.js与PHP之间通过RSA算法实现签名验证做过web开发的同学都知道我们经常在接口间交互的时候为了防止数据伪造并 且保证安全性我们会采用签名的方式进行验证, 签名的算法我们一般选择RSA非对称加密算法。想了解更多签名与RSA算法知识可以去查阅PKCS#1、PKCS#7相关资料。笔者在做利用Node.js做单点登录的时候涉及到了Node.js项目中产生的签名,然后需要到PHP项目中去验签,...
阅读(174) 评论(0)

Linux zombie进程详细解析

Linux僵尸进程详细解析 在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用 waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill-9也不能杀死僵尸进 程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为"孤儿进程",过继...
阅读(95) 评论(0)

Linux 线程分离状态

线程的分离与结合    在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。线程的分离状态决定一个线程以什么样的方式来终止自己。在上面的例子中,我们采用了线程的默认属性...
阅读(62) 评论(0)

linux 新建用户、用户组 以及为新用户分配权限

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主...
阅读(135) 评论(0)

golang简单实现一个基于TLS/SSL的 TCP服务器和客户端

简单实现一个基于TLS/SSL的 TCP服务器和客户端本篇文章介绍一下使用TLS/SSL创建安全的TCP通信,首先我们要准备一个数字证书和一个密钥关于如何产生密钥,请看下面文章: 简单实现一个基于TLSSSL的 TCP服务器和客户端 通过Openssl创建数字证书和密钥 TLS服务器端代码 TLS客户端代码 通过Openssl创建数字证书和密钥关于如何通过Openssl创建证书和私钥 TLS服务...
阅读(2583) 评论(0)

golang 中的md5 、hmac、sha1算法的简单实现

package main import ( "crypto/hmac" "crypto/md5" "crypto/sha1" "encoding/hex" "fmt" ) func Md5(data string) string { md5 := md5.New() md5.Write([]byte(data)) md5Data := md5.Sum([]byte("")) ...
阅读(210) 评论(0)

golang中实现RSA(PKCS#1)加密解密

RSA非对称加密算法,基于PKCS#1规范, 我们在使用RSA的时候需要提供 公钥和私钥 , 我们可以通过openss来为我们生成对应的pem格式的公钥和私钥匙。关于pkcs相关标准如下,摘自百度:PKCS#1:定义RSA公开密钥算法加密和签名机制,主要用于组织PKCS#7中所描述的数字签名和数字信封[22]。PKCS#3:定义Diffie-Hellman密钥交换协议[23]。PKCS#5:描述一...
阅读(1241) 评论(0)

golang实现AES ECB模式的加密和解密

golang实现AES ECB模式的加密和解密...
阅读(1346) 评论(0)

助你玩转机器学习技术的十三套框架

在今天的文章中,我们将共同了解十三款机器学习框架,这些框架中最值得关注的特性,在于它们正致力于通过简单而新颖的方式应对与机器学习相关的种种挑战。过去几年以来,机器学习已经开始以前所未有的方式步入主流层面。这种趋势并非单纯由低成本云环境乃至极为强大的GPU硬件所推动; 除此之外,面向机器学习的可用框架也迎来了爆发式增长。此类框架全部为开源成果,但更重要的是它们在设计方面将最为复杂的部分从机器学习中抽...
阅读(288) 评论(0)

Strings, bytes, runes and characters in Go

本文翻译自golang官方 ,英文文章原地址 https://blog.golang.org/strings    ,主要介绍了 go中的 strings 、bytes、 runes 、characters。介绍之前的文章介绍了go中的切片是如何工作的,我们使用了大量的例子来解释其背后实现的原理和机制. 在这个背景下, 我们在这篇文章讨论go中的字符串.首先 ,字符串对于一个博客文章的主题来说似乎...
阅读(1341) 评论(0)

关于js异步上传文件

好久没登录博客园了,今天来一发分享。  最近项目里有个需求,上传文件(好吧,这种需求很常见,这也不是第一次遇到了)。当时第一想法就是直接用form表单提交(原谅我以前就是这么干的),不过表单里不仅有文件还有别的信息需要交互,跟后端商量后决定文件单独上传,获取到服务器端返回的文件地址在和表单一起提交。这里就需要异步上传文件。  在网上扒了扒相关的内容,发现还真不少,阮一峰老师的这篇文章(文件上传的渐...
阅读(123) 评论(0)

php错误级别设置

在php.ini中可以设置服务器对错误的报警级别。在默认情况下,php将报告除了通知之外的所有错误。错误报告级别是通过一些预定义的常量来设置的,语法int error_reporting ( [int level] )如果参数 level 未指定,当前报错级别将被返回。下面几项是 level 可能的值:如下表所示:1        E_ERROR        报告运行时的致命错误2       ...
阅读(514) 评论(0)

golang解析数字证书

golang解析数字证书基础知识 在解析数字证书之前我们要学习一下数字证书的知识,明白一下数字证书中的一些概念。 下面这些知识是你所要了解的,PKCS#8、 PKCS#1、Certificate Chan、Openssl 将PKCS#1和PKCS#8进行转换 等等,基础我就不多聊了下面给几篇文章用于快速扫盲: pkcs1与pkcs8格式RSA私钥互相转换 证书链-D...
阅读(600) 评论(1)

RSA私钥和公钥文件格式 (pkcs#7, pkcs#8, pkcs#12, pem)

FormatNameDescriptionPKCS #7Cryptographic Message Syntax StandardA PKCS #7 file can be used to store certificates, which is a SignedData structure without data (just the certificates). The file name e...
阅读(347) 评论(0)

openssl与数字证书的使用

Openssl与数字证书的使用详解数字证书这个概念大家应该并不陌生,比如我们在利用Nginx提供https服务的时候需要我们去CA申请一 个包含我们的公钥信息、身份信息、数字签名的证书,再比如我们在使用银行的U盾的时候也是在客户机器上安装了用户的数字证书,数字证书就好像我们的电子身份证一样,是对我们身份的唯一标识, 并且数字证书和身份证一样是有期限的,过期之后需要重新申请,上面所说的CA其实是一家...
阅读(374) 评论(2)

一分钟告诉你究竟DevOps是什么鬼?

一分钟告诉你究竟DevOps是什么鬼?历史回顾为了能够更好的理解什么是DevOps,我们很有必要对当时还只有程序员(此前还没有派生出开发者,前台工程师,后台工程师之类)这个称号存在的历史进行一下回顾。如编程之道中所言:老一辈的程序员是神秘且深奥的。我们没法揣摩他们的想法,我们所能做的只是描述一下他们的表象。清醒的像一只游过水面的狐狸警惕的像一位战场上的将军友善的像一位招待客人的女主人单纯的像一块未...
阅读(519) 评论(0)

golang中解决tcp传输中的粘包问题

golang中解决tcp传输中的粘包问题什么是粘包?最近在写https://github.com/UsherYue/ActivedRouter (一个http/https反向代理服务)的时候遇到了粘包问题, 如果有做过网络编程的小伙伴应该都知道粘包问题,举个例子: 比如客户端在和服 务器进行通信采用的是json格式的数据包。那么此时Client和Server的数据交互流程应该如下:...
阅读(12195) 评论(2)

关于字节序Big Endian和Little Endian

关于字节序 字节序指的是一个大于2个字节的类型的数据例如int 、long等在内存中的字节顺序。 字节序分为:网络字节序 (Big Endian) 比如 0x11223344 ,占四个字节,那么他的网络字节序在内存中就是 按照 44 33 22 11 排列,也就是Big Endian是低位存储在内存的低地址,高位存储在内存的高地址。 主机字节序 (Littlr Endian) 比如 0...
阅读(356) 评论(0)

golang使用vet进行语法检查

golang vet工具的使用 一般来说每一门语言都有一些用来进行语法检查的工具,vet就是golang中提供的语法检查工具,可以让我检查出package或者源码文件中一些隐含的错误,规范我们的项目代码,下面我简单讲解下该工具的使用. golang vet工具的使用 vet工具的路径 vet的使用 对一个go源文件进行检查 一个包下所有源文件进行检测 对一个package进行语法检查...
阅读(299) 评论(0)

golang实现自定义驱动的Cache

近期在写 ActivedRouter项目的时候需求一个缓存模型,要求缓存模型支持不同驱动,例如:memory、file、redis、mysql,实现思路代码如下:cache.go文件,定义缓存对外接口//ActivedRouter //Author:usher.yue //Amail:usher.yue@gmail.com //TencentQQ:4223665 //缓存驱动接口定义 //可以自定...
阅读(253) 评论(0)
430条 共22页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:956196次
    • 积分:13190
    • 等级:
    • 排名:第989名
    • 原创:328篇
    • 转载:100篇
    • 译文:2篇
    • 评论:142条
    我的课程
    个人介绍
    岳东卫
    我是一枚来自于中国山东烟台的程序猿!
    未来几年目标成为一个优秀的开发者 ! (๑•̀ㅂ•́)و✧
    我的Github
    我的邮箱
    博客专栏
    最新评论