- 博客(5)
- 收藏
- 关注
原创 使用Python实现RSA加密
RSA加密是一种非常常用的加密算法,该算法基于以下原理:求解两个大素数的积非常容易,但是对两个大素数的积进行因式分解比较困难。以下程序有三个功能:生成RSA私钥和公钥;根据给出的文件路径和文件名加密数据;根据给出的文件路径和文件名进行解密。读入文件后,若文件内容较长,则一次读入96个字符,循环读取,直到加密完毕,将文件中的原内容抹去,放入加密的内容;
2023-05-04 22:47:01 4505
原创 C语言rand()函数解析
C语言的rand()函数位于<stdlib.h>。该函数可以生成一个取值为0~32767的伪随机数。先看一下函数的实现。unsigned long int next = 1;int rand(void){ next = next * 1103515245 + 12345; return ((unsigned int)(next/65536) % 32768);}/* srand函数:为rand()函数设置种子数 */void srand(unsigned int
2021-05-16 17:32:09 743
原创 单片机的Bank分区机制
在前段时间做了一个项目,使用的为中颖8位单片机,型号为SH79F166A。碰到了一个有趣的机制,即分区机制。该单片机的特殊功能寄存器分为Bank0和Bank1两个扇区,每个扇区的地址均是80H到FFH,每个地址与GPIO,定时器,PWM等相关。相同的地址在不同的扇区内可能代表不同的功能,比如P0CR(控制端口P0的输入输出模式)和P5CR的地址都是E1H,但是P0CR位于Bank0,而P5CR位于Bank1。如果在操作P5CR之前没有进行切换扇区的操作,那么对P5CR的操作就只是对P0CR的操作。而不会
2021-01-12 21:44:38 4273
原创 单片机对底层寄存器的操作
最近项目用到了国产的一款单片机,没有例程的支持,需要自己从头开始写底层。又感受到了自己本科刚学习51的时候的浮躁,不懂得如何操作底层的寄存器,只是一味的抄写别人的例程,然后进行简单改动。后来参加比赛,使用的恩智浦的K60单片机也是这样,直接使用别人写好的代码库,调用一下函数,再后来学习STM32也是这样,完全不懂得软件和硬件的接轨,也就没有对底层了如指掌的从容,写出来的代码也不够优雅。铺垫了这么多,也该进入正文了。单片机编程和直接的计算机编程的一个突出区别就是对底层的操作,计算机编程时不需要关心计算机的
2021-01-03 21:58:35 2385 6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人