项目遇到的小问题2
Posted ccmldl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目遇到的小问题2相关的知识,希望对你有一定的参考价值。
MD5算法(摘要算法、哈希算法)
1.MD5算法特点
压缩性:任意长度的数据,算出的MD5值长度都是固定的
容易计算:从原数据计算出MD5值很容易
抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别
弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的
强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的
2.MD5算法优点
方便存储:MD5加密出来都是32位的字符串,能够给定固定大小的空间存储,传输,验证
文件加密:MD5运用在文件加密上很有优势,因为只需要32位字符串就能对一个巨大的文件进行验证完整性
不可逆:MD5加密出来只会截取末尾32位,具有良好的安全性,如果是对于参数加密很难伪造MD5
加密损耗低:MD5加密对于性能的消耗微乎其微
3.运用场景
用户密码,请求参数,文件校验
4.原理
MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值
使用sqlalchemy创建数据表时,出现 Access denied for user ‘root‘@‘localhost‘
出现这种情况最简单的解决办法是:卸载重装mysql,一定要清理干净
删除mysql:sudo apt-get remove mysql-*
清理残留数据:dpkg -l |grep ^rc|awk ‘{print $2}‘ |sudo xargs dpkg -P(出现对话框选择yes)
完美解决sublime不能输入中文的问题
sudo apt-get update && sudo apt-get upgrade
git clone https://github.com/lyfeyaj/sublime-text-imfix.git
cd sublime-text-imfix
./sublime-imfix
sqlite插入数据
from flasker.models import Student
from . import db
@app.route(‘/‘, methods=[‘GET‘, ‘POST‘])
def home():
xaioming = Student(score=35)
db.session.add(xiaoming)
db.session.commit()
return "home"
sqlite查询数据
ret = Student.query.all()
flask_script
作用:提供命令行与flask的交互功能
from flask_script import Manager
app = create_app()
manager = Manager(app)
@manager.command
def hello():
print(‘hello‘)
进入虚拟环境,执行:python manage.py shell
from manage import hello
hello()
有一个relationship时,使用backref=‘‘
有两个relationship时,使用back_populates=‘‘,两个relationship中都要写对方的名字,以后查找数据就可以直接.对方的名字
一对多惰性查询
在relationship中添加lazy=‘dynamic‘
数据迁移(db.create_all()只能创建数据表,要是数据表中有数据改动要使用数据迁移)
新增加字段一定要添加nullable=True
from flask_migrate import Migrate, MigrateCommand
# Migrate:完成app的扩展
# MigrateCommand:支持flask_script扩展,去操作数据库迁移
migrate = Migrate(app, db) # 需要把数据库传递进去
manage.add_command(‘db‘, MigrateCommand) # 添加命令
sqlite不支持删除列,只支持改表名和增加列
在命令行执行
python manage.py db init # init:为你的应用程序初始化migration,会自动生成一个migrations文件夹
python manage.py db migrate
# 会生成一个versions迁移文件
1.检测表的增加和删除
2.检测列的增加和删除
3.列的nullable属性的变更
4.检测基本索引的变更或者unique约束的变更
5.检测外键约束的变更
python manage.py db upgrade # 执行迁移
以上是关于项目遇到的小问题2的主要内容,如果未能解决你的问题,请参考以下文章
项目中遇到的小问题,position:fixed无效的一种情况
设置localStorage的值为Boolean类型时遇到的小问题
EF(Linq)框架使用过程中的小技巧汇总 dbfunctions
(maven项目)使用java -jar命令遇到的小问题|xx.jar中没有主清单或Error:Invalid or corrupt jarfile xx.jar