Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

非对称技术栈实现AES加密解密

非对称技术栈实现AES加密解密

正如前面的一篇文章(见 http://www.linuxidc.com/Linux/2016-08/134695.htm ) 所述,https协议的SSL层是实现在传输层之上,应用层之下,也就是说在应用层上看到的请求还是明码的,对于某些场景下要求这些http请求参数是非可读的,这就要求在前端和后端不同的技术栈上完成信息的加密解密。当然我们通常完成这样专业的功能都会考虑使用相应的框架或者程序库来完成功能,前端或者NodeJS平台通常是JavaScript语言...
JavaScript的三种工业化调试方法

JavaScript的三种工业化调试方法

软件工程中任何的语言如果想要写出健壮的代码都需要锋利的工具,当然JavaScript也不例外,很多朋友刚入门的时候往往因为工具选的不对而事半功倍,JavaScript同样需要软件调试技术,希望本文总结的三种工具会对大家的学习有所帮助。任何语言的学习都离不开实践,不写代码是永远学不会编程的,当然javascript也不例外,很多人推荐直接浏览器调试,个人觉得这个推荐应该是非常初级的,比如Chrome, Firefox确实提供了实用的前端调试工具,但是个人认为...
使用node-inspector调试NodeJS代码

使用node-inspector调试NodeJS代码

任何一门完备的语言技术栈都少不了健壮的调试工具,对于NodeJS平台同样如此,笔者研究了几种调试NodeJS代码的方式,通过对比,还是觉得node-inspector的调试方式比较方便,而且和前端JavaScript代码的调试具有一致的体验,不仅健壮,而且方便。安装完成NodeJS后执行如下指令可以完成node-inspector安装。>npm install -g node-inspectornode-inspector安装完成以后运行如下指令启动...
VS Code - Debugger for Chrome调试JavaScript的两种方式

VS Code - Debugger for Chrome调试JavaScript的两种方式

一直想写一篇VS Code - Debugger for Chrome相关的文章,没想到一直拖到了今天。VS Code 开源以后确实在社区得到了很多人的支持,当中很多优点想必不用我多说,今天讨论的主题是Debugger for Chrome这个插件的使用。在网上简单找了一下,没有找到这个主题讲的特别好的文章,于是笔者写了这篇文章。说实话,看了如下这篇文章,对于如何上手可能很多人还是一知半解,觉得说的不够透彻,因为关于如何new instance和attac...
C语言中字符串处理函数介绍

C语言中字符串处理函数介绍

C语言中字符串处理函数介绍下面介绍8种基本的常用的字符串处理函数,在数值数组中也常常用到(部分函数)。所有的C语言编译系统中一般都提供这些函数。1、puts函数——输出字符串的函数一般的形式为puts(字符串组)作用:将一个字符串输出到终端。如,char一个string,并赋予初值。调用puts(string);进行字符串的输出。2、gets函数——输入字符串的函数一般的形式:gets(字符数组)作用:从终端...
C#7.0中有哪些新特性?

C#7.0中有哪些新特性?

以下将是 C# 7.0 中所有计划的语言特性的描述。随着 Visual Studio “15” Preview 4 版本的发布,这些特性中的大部分将活跃起来。现在是时候来展示这些特性,你也告诉借此告诉我们你的想法!C#7.0 增加了许多新功能,并专注于数据消费,简化代码和性能的改善。或许最大的特性就是元祖和模式匹配,元祖可以很容易地拥有多个返回结果,而模型匹配可以根据数据的“形”的不同来简化代码。我们希望,将...
Linux下的权限掩码umask

Linux下的权限掩码umask

权限掩码umask 我们都知道在linux下创建一个文件或者目录之后是可以通过chmod等命令进行权限设置,来达到给当前用户、用户组用户以及其他用户分配不同的访问权限。那么,我们新创建的目录和文件本身也是有它的默认权限的,这个默认权限是什么,就是由权限掩码umask所确定的。它的功能可以说与chmod刚好相反的,代表默认拿走的也就是说不要的权限。 所以说,umask是用来指定"目前用户在新建文件或者目录时候的权限默认值"。那我们 如何得知或者设...
进程控制块的task_struct结构

进程控制块的task_struct结构

》进程控制块 在linux中进程信息存放在叫做进程控制块的数据结构中,每个进程在内核中都有?个进程控制块(PCB)来维护进程相关的信息,Linux内核的 进程控制块是task_struct结构体。在Linux中,这个结构叫做task_struct。 task_struct是Linux内核的一种数据结构,它会被装载到RAM?并且包含着进程的信息。每个进程都把它的信息放在 task_struct 这个数据结构?, task_struct 包含了这些内容...
AVL树的插入操作(旋转)图解

AVL树的插入操作(旋转)图解

AVL树的概念 在说AVL树的概念之前,我们需要清楚二茬搜索树的概念。对于二叉搜索树,我们知道它可以降低查找速率,但是如果一个二叉搜索树退化成一棵只剩单支的搜索树,此时的查找速率就相当于顺序表中查找元素,效率变低,时间复杂度由原来的O(logN)变为O(N)。 此时就有了AVL(高度平衡二叉搜索树),从它的名字就能知道它也是一棵二叉搜索树,只是它在插入元素的时候,每插入一个新节点的时候就会调整整棵树的结构,从而来保证这课搜索树的平衡,即每一个节点...
二叉搜索树的插入与删除图解

二叉搜索树的插入与删除图解

一、二叉搜索树(BSTree)的概念 二叉搜索树又被称为二叉排序树,那么它本身也是一棵二叉树,那么满足以下性质的二叉树就是二叉搜索树: 1、若左子树不为空,则左子树上左右节点的值都小于根节点的值 2、若它的右子树不为空,则它的右子树上所有的节点的值都大于根节点的值 3、它的左右子树也要分别是二叉搜索树 ===================================================================...
面试题之判断栈的入栈和出栈序列的合法性

面试题之判断栈的入栈和出栈序列的合法性

完整题目是这样的:给我们两个序列,第一个序列表示栈的压入顺序,然后让判断第二个序列是不是是否是该栈的弹出序列。现设第一个序列为[1,2,3,4,5],第二个序列为[3,2,5,4,1],可以看出这个出栈顺序是合法的,那么我们怎么通过程序来验证呢? 既然是判断栈的出栈顺序,那么我们肯定得有一个辅助栈,来帮助我们做这样的题。我们把第一个序列中的数字一次压入栈中,压入的过程中按照第二个序列的顺序依次从栈中弹出数字。 我采用的是用vector来存放两...
Java多线程-线程通信

Java多线程-线程通信

线程通信的目标是使线程间能够互相发送信号。另一方面,线程通信使线程能够等待其他线程的信号。1.通过共享对象通信2.忙等待3.wait(),notify()和 notifyAll()4.丢失的信号5.假唤醒6.多线程等待相同信号7.不要对常量字符串或全局对象调用 wait()通过共享对象通信线程间发送信号的一个简单方式是在共享对象的变量里设置信号值。线程 A 在一个同步块里设置 boolean 型成员变量 hasDataToProcess 为 true,线程...
Java多线程-线程创建

Java多线程-线程创建

Java 线程类也是一个 object 类,它的实例都继承自 java.lang.Thread 或其子类。 可以用如下方式用 java 中创建一个线程,执行该线程可以调用该线程的 start()方法:Tread thread = new Thread();thread.start();在上面的例子中,我们并没有为线程编写运行代码,因此调用该方法后线程就终止了。编写线程运行时执行的代码有两种方式:一种是创建 Thread 子类的一个实例并重写 run 方法,...
Java集合-Iterator迭代

Java集合-Iterator迭代

我们常常使用 JDK 提供的迭代接口进行 Java 集合的迭代。Iterator iterator = list.iterator();while(iterator.hasNext()){String string = iterator.next();//do something}迭代其实我们可以简单地理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类,它是一个很典型的设计模式。Iterator 模式是用于遍历集合类的标准访问方法。它可以把访问逻辑...
Java中的deflate算法实现压缩功能

Java中的deflate算法实现压缩功能

在文件的传输过程中,为了使大文件能够更加方便快速的传输,一般采用压缩的办法来对文件压缩后再传输,Java中的java.util.zip包中的Deflater和Inflater类为使用者提供了DEFLATE算法的压缩功能,以下是自已编写的压缩和解压缩实现,并以压缩文件内容为例说明,其中涉及的具体方法可查看JDK的API了解说明。/** * * @param inputByte * 待解压缩的字节数组 * @return 解压缩后的字节数组 * @...
<< 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 >>