LsWorld

LsWorld

Flutter实现rsa加密与解密
发表于2022-09-16|Flutter
前言在想使用rsa加密前,应该首先了解什么是rsa加密。rsa作为目前流行的非对称加密,所需要公钥和私钥两把钥匙才能解开传输的数据。所以要使用rsa加密算法,首先就得要设置公钥和私钥(私钥一般都是放在后端,私钥在前端极其不安全,前端的代码几乎都是透明的,这里演示就全在前端中演示)。 导包与获取钥匙在Flutter中使用加密算法,需先在pubspec.yaml文件中导如encrypt包(版本以flutter社区的最新版为准),修改文件后保存会自动导包。 然后去获取公钥和私钥(可以在网页上生成),并放在静态资源文件夹中。 公钥格式为:(-----BEGIN PUBLIC KEY-----和结尾的-----END PUBLIC KEY-----是必加的,中间内容为公钥,私钥同理) -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2/vF49zKHdP0EY1B9Zim 5t4X1GsnP1TEYgYMnWXQNLluWV53iInEJBmw/xf++Ohbgp7Wh...
Dart语言学习
发表于2022-09-06|flutter
最近想开发一个即时通讯的app,想要通过跨端平台来做一个app,众所周知,目前比较流行的跨端平台有electron(主要桌面开发)、uniapp(小程序方面应用多)、react native(和flutter在app占比差不多)和flutter。当时技术选型时,因为本人是对Vue为主要前端框架进行深入学习,所以开发app时候react native就没有纳入我的范围,uniapp又因为觉得做小程序比较多,在网上搜索uniapp对app的兼容不如react native和flutter,所以最后就决定选择学习flutter来作为主要开发工具。 本文主要介绍Dart的基本语法,Dart大部分都是为了flutter而服务,所以这里并不会对Dart进行过多的了解,相信要是有javascript或java语言等高级语言基础的话,可以很快的进行入门。 文章参考了Dart的官网。 前言Dart和Java一样是面向对象的语言,所以他们都有一个main方法,要是数据不是在函数体内声明,则默认为全局方法,不会像Javascript那种面向编程的语言一样,无论在什么环境修改变量都不会报错,在Da...
mysql常用语句总结
发表于2022-09-01|mysql
创建数据库CREATE DATABASE 数据库名; 删除数据库drop database 数据库名; 创建表#IF NOT 表示不存在就创建 CREATE TABLE IF NOT 表名 (column_name column_type); 例子: #AUTO_INCREMENT 表示自增 NOT NULL表示不为空 PRIMARY表示主键 CREATE TABLE IF NOT user( id int PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL ); 表创建时添加外键约束两个表之间需要相关的值的话就可以使用外键约束,并且设置外键的字段名所用的是主表的主键字段才行。 表创建时添加外键约束CONSTRAINT 外键名 FOREIGN KEY(从表的外键字段名) REFERENCES 主表名(主表的主键字段名) 例子: #主表 CREATE TABLE IF NOT user( id int PRIMARY KEY NOT NULL AUTO_INCREMENT, na...
JavaScript实现方法的重载
发表于2022-08-26|javascript
最近在使用node.js做后端时,想使用方法重载来实现一个函数可以接收不同的参数,但是javascript作为一个弱类型语言,无法实现方法的重载,就只能通过奇淫技巧来实现。 目前发现的方法有: 使用arguments 参数的长度来判断传入参数的数量,从而实现不同业务逻辑 //使用arguments来实现方法重载 function OverLoad(name,age){ //arguments.length===0说明没有传入参数 switch(arguments.length){ case 0: 代码块 break; //传入了name走这块 case 1: 代码块 break; //传入了age走这块 case 2: 代码块 break; } } 直接判断传入的参数是否为undefined。 f...
获取扇贝单词接口数据
发表于2022-08-19|爬虫
@TOC 最近想做一个背单词相关的app,要是自己一个个去网站搜然后再复制到数据库中太慢了,所以就考虑能不能通过接口或者python自动将数据爬下来。 第一步,登录并寻找可以爬取的数据(想直接看结论可以到第四步)首先要先登录去寻找扇贝单词中有显示单词的地方,在我找了一圈,发现在单词学习的词表中(这要先自己提前添加一本词书),只要自己单词还没有开始背,可以在未学单词中来获取本词书的单词数据。 到这未学单词页面,首先就是先查看扇贝单词是通过服务器渲染还是客户端渲染,要是服务器渲染,在源码中就可以直接看到单词的数据,那样就可以直接通过python来进行爬取,要是客户端渲染,那就得考虑通过调用接口来拿取单词数据了。这里我到源码中去搜索matter这个单词。 结果发现,源码中并没有这个单词的数据,就说明得通过接口的方式来获得数据了。 第二步,对症下药那此时就是得通过F12的网络检查来进行抓包了。(注意:这里要在Fetch/XHR中才会更清晰的展示) 通过下方的按钮,我们转换到第二页,看看发送的网络请求是什么样的。 这里我们可以点击后在preview中查看,发现数据是有返回的,但却做了加...
vue3的ref与reactive的区别
发表于2022-08-18|Vue3
Vue3中使用ref和reactive需要注意的点最近在开发项目中,想到复杂的数据对象都应该用reactive,就想用reactive来接收父组件传来的值,再通过emit传递回去。 但在这遇到了一个坑,用reactive来接收对象时,控制台输出没有问题,但页面显示却是空白! 目前要实现的是一个编辑的功能,列表中的数据是通过父组件传递给子组件数据实现的,因为要保证单向数据流,所以当用户点击编辑按钮的时候(即触发handleEdit),将从父组件收到的点击的那一条数据存到form中。 // 对类型进行限制 interface Props { barTitle: Array<BarType>, //这里类型不用多了解,就是为了减少维护成本 tableData: Array<String> } // 提供初始值 const props = withDefaults(defineProps<Props>(), { barTitle: () => [], tableData: () => [] }) // 点击...
node.js-fs文件操作模块
发表于2022-07-14|node.js
fs文件操作模块fs作为node.js的内置模块,只需用require("fs")引入后即可使用。可以用js来实现对计算机文件的增删改查操作 创建目录//在根目录下创建avatar文件夹 创建成功err为null,反之则有失败的原因 fs.mkdir('./avatar',(err)=>{ console.log(err) }) 目录重命名//将avatar改名为avatar2 fs.rename('./avatar','./avatar2',err=>{ console.log(err) }) 删除目录//删除名为avatar2的目录 fs.rmdir('./avatar2',err=>{ console.log(err) }) 往文件中写入数据 会覆盖其中内容//往text.txt文件中写入helloworld 文件不存在会自动创建 fs.writeFile('./text.txt','helloWorld',err=>{ console.log(e...
node.js-http模块
发表于2022-07-12|node.js
启动服务器热更新默认方式重启服务器为node file。 在全局安装npm i -g nodemon后可以自动服务器热更新 输入命令nodemon file即可开启热更新 搭建HTTP服务器搭建一个简单的HTTP web 服务器 //获取HTTP模块 const http = require('http') // 设置端口号 const port = 3000 // 创建 const server = http.createServer((req, res) => { //req接收浏览器传的参数 //res 返回渲染的内容 res.statusCode = 200 res.setHeader('Content-Type', 'text/html;charset=utf-8') res.end('你好世界\n') }) // 监听端口是否被访问,访问则输出其中内容 server.listen(port, () => { console.log(`服务器已经启动`) }) url模块介绍在引入url模块后,可以...
npm包管理器
发表于2022-07-08|前端工程化
npm包管理器简介npm 是 Node.js 标准的软件包管理器。现在也可以使用yarn来代替npm作为一个包管理器。 npm常用命令 下载npm 可以管理项目依赖:npm i 或 npm install 它会在 node_modules 文件夹(如果尚不存在则会创建)中安装项目所需的所有东西。 安装单个软件包npm i <package-name> 或 npm install <package-name> 在安装软件包的时候添加--save表明安装并添加条目到 package.json 文件的 dependencies。 --save-dev 安装并添加条目到 package.json 文件的 devDependencies。 区别主要是,devDependencies 通常是开发的工具(例如测试的库),而 dependencies 则是与生产环境中的应用程序相关。 更新所有软件包:npm update 更新指定软件包:npm update <package-name> 运行指定任务: 在项目的package.json...
package.json相关介绍
发表于2022-07-08|前端工程化
package.json文件package.json 文件是项目的清单。 它可以做很多完全互不相关的事情。 例如,它是用于工具的配置中心。 它也是 npm 和 yarn 存储所有已安装软件包的名称和版本的地方。 例如Vue项目中的package.json文件: { "name": "test-project", "version": "1.0.0", "description": "A Vue.js project", "main": "src/main.js", "private": true, "scripts": { "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", "start": "npm run dev", "unit": "jest --config test/unit/jest.conf.js --coverage", "test": "npm run unit", ...
node.js初步学习
发表于2022-07-08|node.js
命令行运行node.jsapp.js为要运行的主程序文件。 node app.js 退出node.js程序console.log(123) process.exit(1) console.log(1234) //1234 将不会输出 exit(1)中 exit()括号中默认的退出码为0,表示成功。 在node.js中导入其他包node.js中使用的模块化语法为common.js,所以在导入文件时使用require,暴露文件则用exports 第一种方式//export.js文件 const obj = { name: '小王' } module.exports = obj //导入文件 const obj = require('./export.js') console.log(obj) //控制台输出 { name: '小王' } 第二种方式//export.js文件 exports.person = { name: '张三', age: 20 } const obj = re...
解决matery主题副标题无法显示的问题
发表于2022-05-27|hexo
今天部署博客发现在本地运行的时候也会出现页面迟迟无法出现的问题,结果打开控制台面板一看发现type.js没有使用上。 查看源代码发现https://cdn.jsdelivr.net/npm/typed.js@2.0.11挂了,而matery主题默认使用jsdelivr来引入一些js代码。 现在在控制台中发现了错误,那解决办法就很简单了,在matery主题的源代码中将cdn换成国内加速就可以完美解决副标题不显示的问题了。 经过一路筛查后发现在主题文件的\layout\_partial\bg-cover-content.ejs中发现了代码。接下来把他替换成https://cdn.bootcss.com/typed.js/2.0.5/typed.js,就可以完美解决问题了 重新启动后发现报错没了,副标题也一如既往的显示了。
1…5678
avatar
LsWorld
文章
92
标签
58
分类
29
Follow Me
公告
This is my Blog
最新文章
freertos中常用api总结2025-02-12
STM32根据DHT11温湿度分析城市相似度项目总结2025-02-04
stm32硬件实现与w25qxx通信2025-01-31
STM32F103C8T6综合学习项目的具体功能实现详解2025-01-18
基于STM32综合学习项目结构设计2025-01-15
分类
  • C5
  • Flutter2
  • JavaScript1
  • TypeScript1
  • Velcel1
  • Vue4
  • Vue31
  • flutter1
标签
数制与编码 踩坑 输入输出管理 物理层 hexo Dart npm 内存管理 输入输出系统 TypeScript flutter 数电 基础 错误排查 进程与线程 总线 计算机网络体系结构 串 node.js typeorm 运输层 javascript Vercel 计算机组成原理 计算机网络 nestjs Vue dart JavaScript 操作系统 JSON Vuex es6 数据结构 复变函数 前端工程化 中央处理器 VueRouter 应用层 C
归档
  • 二月 2025 2
  • 一月 2025 10
  • 十二月 2024 1
  • 二月 2024 3
  • 一月 2024 6
  • 十二月 2023 14
  • 十一月 2023 6
  • 十月 2023 6
网站信息
文章数目 :
92
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By LsWorld框架 Hexo 6.2.0|主题 Butterfly 5.5.4