最近写electron单机版遇到对文件加密的业务,踩了一些坑,记录一下。

  1. node fs.readFileSync 读取大文件会存在数据读不全的问题,最好使用fs.readFile异步读取方法,或者使用流的读取方式fs.createReadStream
    fs.readFileSync读取丢失数据可以看这
  2. 关于文件内容加解密,可以理解为对二进制数据进行加解密。
    比如一个字符串 ‘ABCDEFGH’,转成二进制数据也就是 65 66 67 68 69 70 71 72。65也就是大写A对应的ascii值(小写a是65+32=97),如果字符串中含有中文,根据选择的编码格式,长度会有所不同,例如utf-8,一个汉字就是三个字节,字符串’ABC张三’ 会有3+2*3=9个字节。加密就是通过某种算法,把这个二进制数据改成另一个二进制数据。
    Demo:我用了AES-128-cbc算法。加密后得到下图 第三行 53 84开头的数据,解密则是将该数据再转为原来的 65 - 66 ... - 72。至于8字节为什么转16字节,则是和算法有关。
  3. 关于加密,可以参考这位大佬的文章,讲的很详细。数据加密 ---- 总篇

node.js文件加密相关推荐

  1. 运行第一个node.js文件

    安装node.js 链接:https://nodejs.org/en/ 选择downloads 再选择对应的版本, Windows Installer (.msi):表示需要安装后才能运行node.j ...

  2. Node.js文件操作二

    前面的博客 Node.js文件操作一中主要是对文件的读写操作,其实还有文件这块还有一些其他操作. 一.验证文件path是否正确(系统是如下定义的) fs.exists = function(path, ...

  3. node.js文件的压缩解压

    node.js文件的压缩解压 流式读写文件 知识预知 例子 压缩解压文件 知识预知 压缩文件 解压文件 流式读写文件 第一步先要弄清楚为什么需要压缩和解压文件,这是因为文件太大了,我们需要将文件进行压 ...

  4. [Node]node.js 文件操作

    既然到了后台,只要你有权限就可以为所欲为了! 创建文件夹 //fs.js var fs = require('fs'); fs.mkdirSync('a', 0755); fs.mkdirSync(' ...

  5. Node.js文件的同步异步事件循环

    刚接触Node.js关于同步异步,事件循环的笔记: 1,文件同异步 var fs = require('fs'); fs.readFile('file.txt', 'utf-8', function( ...

  6. node.js 文件重命名||文件复制||删除||追加 增删改查

    文件重命名 //文件处理 const fs = require("fs") //文件路径 const pathToFile = path.join(__dirname, " ...

  7. node.js aes-256-cbc 加密 解密

    需求 使用 node.js 进行AES 加密解密,代码如下 代码 // Nodejs encryption with CTR const crypto = require('crypto'); con ...

  8. node.js文件操作

    介绍:fs模块是文件操作的封装,它提供了文件的读取,写入,更名,删除,遍历目录,链接POSIX文件系统操作.与其他模块不同的是,fs模块中所有的操作都提供了异步和同步两个版本,例如读取文件内容函数异步 ...

  9. (13)Node.js 文件流 缓冲 VS 流

    一.文件操作 – 缓冲方式 通过把源文件放入内存缓冲中,最后到目标文件.  首先先放入内存缓冲中  当内存缓冲满为止,才向目标文件进行传输  二.文件操作 - 流方式 将A作为读取流,然后传输到B写入 ...

  10. ios浏览器无法播放视频-node.js文件传输问题

    错误描述 windows.android浏览器都能播放视频,ios系统浏览器和MacOS的Safari浏览器不能播放和加载视频 原因 ios是分段请求视频的,ios之所以分多次请求也有其原因.比方说先 ...

最新文章

  1. 课堂练习---统计空格流程图、Jackson图
  2. leetcode 98. 验证二叉搜索树 递归遍历左右子树和中序遍历 c语言解法
  3. 妈妈帮携手神策数据 数据赋能打造母婴智能陪伴者
  4. ITK:在一张图像中设置像素值
  5. 如何使用两个堆栈实现队列_使用两个队列实现堆栈
  6. 5种成交话术,帮你多拿订单,挠到客户痒处,才有成交希望
  7. 无盘服务器缓存,深入研究无盘服务器缓存
  8. \t\t使用Google APP Engine 完成个人代理服务器架设
  9. 数独终盘生成器(调试成果)
  10. 数字通信系统误码性能仿真分析
  11. windows server2008 安装iscsi服务
  12. Mac好用的截图软件,这就来了!
  13. 阿里云服务器带宽不够升级怎么收费?
  14. [搜索 meet in the middle+哈希] ProjectEuler 598. Split Divisibilities
  15. rasp 系统_RASP 类接口
  16. Web前端基础体验学习过程1 HTML篇
  17. 关于SpringSecurity登陆成功出现302状态码
  18. Error Some file crunching failed, see logs for details 解决方案
  19. 测试ip 或者 ip+端口 是否畅通
  20. 与第三方接口调用时白名单功能

热门文章

  1. jarvisoj_typo
  2. 只需4步,就能在SOLIDWORKS创建首件检验报告(FAI)
  3. 使用了3年多的华硕笔记本电脑fl5900uq7500电脑感受-提示已接通电源、正在放电抓狂问题
  4. 投稿状态(status)记录 IEEE wireless communications letters (IEEE WCL)
  5. 常用的字符串方法大全
  6. Doris开启Stream Load记录
  7. 卸载重装Ubuntu22.04双系统
  8. prometheus-预警-6
  9. NS2:添加一个新的流量发生器(poisson分布)
  10. 排列组合 、牛顿二项式定理、多项式系数