密码在服务器一般不能明文存储,所以这里就涉及到加密处理的问题。 我们采用hash算法对密码进行加密后存储在数据库中, 文章目录1 Hash1.1 Hash的基本性质1.2 常用的hash实现1.3 hash算法加盐1.4 慢哈希1.5性能差异2 nodejs 密码哈希方案bcrypt2.1 实现原理2.2 nodejs加密方案2.2.1 生成加盐后的hash值2.2.2 验证密文是否正确  下面简            
                
         
            
            
            
            'use strict';const crypto = require('crypto');/** * AES加密的配置  * 1.密钥  * 2.偏移向量  * 3.算法模式CBC     p...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-10 06:36:18
                            
                                595阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在学习开发node过程中,会发现node不仅自己内置了相当多的工具模块,还有更多的第三方应用模块,如果你了解了这些模块的功能,在node的天空中就犹如插上了翅膀,因此本片文章将简要介绍一些模块的基本功能,供您快速了解每个模块的大概功能:fs(file system)文件系统,该模块提供了用于与文件系统进行交互的API,并且所有的文件操作都具有同步和异步的形式。异步读取文件:const fs = r            
                
         
            
            
            
            本文拜读百度@小蘑菇哥哥的Node.js 中的依赖管理,正文从这里开始~ papackage.jsonnodeJs项目中都会有package.json的存在,这个文件会记录运行该项目所有依赖,并且以平级的形式展示出来,文件内容与下图类似:但是在实际中,一个npm包往往会依赖于其他几个甚至几十个包,这些被额外依赖的包是不会记录在项目的package.json中,只会记录在node_modu            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-20 21:41:41
                            
                                59阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            项目里要用到archive和unarchive整个已存在的folder,在找解决方案的时候尝试了一些当前比较流行的library,主要有adm-zip, JSZip, archiver等。假设要压缩的文件结构如下图:一.Use adm-zip
adm-zip支持archive和unarchive一个或多个文件或者整个文件夹的功能,使用非常的简单方便。 var adm_zip = require('            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-11 19:57:51
                            
                                173阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            'use strict';const crypto = require('crypto');/** * @util 加密、解密工具类 */class CryptoUtil {    /**     * 解密     * @param dataStr {string}     * @param key {string}     * @param iv {string}     * @return {            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-17 08:49:49
                            
                                529阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            引言高级加密标准(AES, Advanced Encryption Standard),是一种最常见的对称加密算法 。其加密流程如下图所示,发送方通过密钥对明文加密后进行网络传输,接收方用同样的密钥将密文解密。在前后端通讯场景中,可利用AES算法对用户密码进行加密后传输,防止被抓包而造成密码泄露。为了完成加解密操作,双方需要事先约定好: 秘钥长度,密钥,IV值,加密模式,填充方式共计5项内容。下面            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-15 17:53:28
                            
                                329阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在node环境实现数据加密加签以及解密验签最近上密码学的课要求代码实现RSA算法,语言任选,可以引用包,我使用的是js,下面是内容首先我们得知道一个客户端与服务端之间数据传输加密的过程,大致如下:1、A给B发送信息STR 2、A先用SHA256对信息STR计算,得到摘要Z 3、A用A的私钥对Z进行加密,得到签名S(只有发送者的私钥才能代表发送者,只能使用发送方的私钥加密才能达到不可抵赖性) 4、A            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-12 05:58:27
                            
                                78阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            crypto模块概述在Node.js中,使用OpenSSL类库作为其内部实现加密与解密处理的基础手段,这是因为目前OpenSSL已经成为了一个经过严格测试的可靠的加密与解密算法的实现工具。在Node.js中,OpenSSL类库被封装在crypto模块中,因此开发者可以使用crypto模块来实现各种不同的加密与解密处理。例如,crypto模块中包含了类似MD5或SHA-1之类的散列算法。开发者也可以            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 09:56:13
                            
                                276阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            AES加解密 密钥是AES算法实现加密和解密的根本。对称加密算法之所以对称,是因为这类算法对明文的加密和解密需要使用同一个密钥。 AES支持三种长度的密钥: 128位,192位,256位 平时大家所说的AES128,AES192,AES256,实际上就是指AES算法对不同长度密钥的使用。 三种密钥的            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-04-17 09:58:29
                            
                                1030阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            AES加密解密原理AESFPGA
AES加密AES是一个对称密码,它的存在是为了取代被证明不安全的DES算法。
一、AES加密过程上图为128位的加密过程,如果长度为192位,则要经过12轮加密运算,同理,256位的需要经过14轮加密。以128位为例,其中9轮为循环运算,最后一轮只有步骤1,2,4,没有列混合。明文长度固定为128位(16字节)
密钥长度可以是128、192、256位
二、初始变换            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-20 23:05:26
                            
                                332阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            废话不说直接上正文:开始知道AES加密会有一个长度的限制报错:java.security.InvalidKeyException: Illegal key size,从网上下载对应jdk版本的local_policy.jar和US_export_policy.jar替换Java\jre6\lib\security目录下的两个jar包应该就会消失。确实在本地运行是没有问题的,但是覆盖了服务器上的ja            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-11 12:53:03
                            
                                57阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录   对称加密AES加密算法非对称加密RSA加密算法  为了保证网络传输数据的安全性,涉及敏感数据的传输,最好对数据预先加密,然后再在网络上进行传输,同时,还要保证数据在另一端是可解密的,并且还必须要通过钥匙(公钥或私钥)才能解密,没有钥匙(公钥或私钥)的人即使是拿到了加密过的数据也无法解密。对称加密采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-06 23:19:02
                            
                                158阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            基于JavaScript的AES加密与解密实现一、CDN插件地址:https://cdnjs.com/libraries/crypto-js
可以直接引用线上CDN
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js" integrity="sha512-E8QSvWZ0eC            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-20 22:55:05
                            
                                465阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在web应用中,有时候会需要将前后端交互的数据进行加密。我最近在做一个项目中,就想把后端的文件流加密后传给前端,但不知道为什么前端总是无法正常解密。PS:我采用的加密算法是AES。在摸索的过程中,由于看了Base64相关的东西,我关注到了字符的编码问题。为了排查问题,我在本地进行测试。 先将明文加密后输出到控制台: 然后复制控制台的密文,进行解码,发现报错: 不应该啊            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-25 23:15:01
                            
                                1391阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            数据加密在解密在软件开发过程中举足轻重的作用,可能有的公司在加密的时候有自己公司内部一套设计的算法,而在这方面不想浪费太大精力就可以去考虑使用第三方提供的加密算法,如AES加密算法,本篇内容介绍开源中国iOS客户端使用ASE算法加密密码; 
AES   GitHub 下载地址  https://github.com/Gurpartap/AESCrypt-ObjC对一个比较大的工            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-13 12:43:42
                            
                                144阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            import base64from Crypto.Cipher import AESfrom Crypto.Util.Padding import padiv = "8973a947d47e2df8"key = "8973a947d47e2df8"data = str(input())mode = AES.MODE_CBCcryptos = AES.new(key.encode('utf-8'),            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-19 09:34:31
                            
                                148阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            AES是一种对称加密算法(RSA、DSA、3DES), 信息的接收双方都需要事先知道秘钥和加密算法并且其密钥匙相同的,之后便是对数据进行加密。非对称算法(RSA、DSA、ECC)是与之不同,发送双方A、B事先均声称一堆秘钥,然后A将自己的共有秘钥发给B,B将自己的共有秘钥发给A,如果A要给B发送消息,则先需要用B的公有秘钥进行加密,然后发送给B,此时B端再用自己的私有秘钥进行信息解密,B给A同样。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-25 22:30:33
                            
                                174阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            AES块加密与解密解密目标在CBC和CTR两种模式下分别给出十篇加密的样例密文,求解密一篇特定的密文解密前提全部密文及其加密使用的key都已给出加密的方法遵循AES的标准解密过程分析实验中给出了密文及其对应Key。CBC模式观察下图:这幅图就是CBC解密的整个流程图,注意到Key指的是已经给出了的Key的Expansion形式,也就是经过了扩展成44个Byte的Key,给出的Key是4个Byte的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-18 20:30:25
                            
                                10阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            最近在使用AES方式进行加密,本来经测试已经没有问题,但是在更新了密钥key之后,就出现了下列报错。控制台报错如下:网上搜索发现,由于key的变更(由原来的128位变更为256位),导致加密/解密的失败。原来的密钥:lNQqkL1BfSwt2MKw新的密钥: P_e-BhqDPP0yeMe8Ma43ZhhL6fqevuR8之所以会出现这种问题,我们就要了解一个新的东西——JCE。在Jav            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-23 16:58:06
                            
                                336阅读
                            
                                                                             
                 
                
                                
                    