安全兼容加密示例创建该存储库是为了处理越来越多的在互联网上浮现的不良加密代码示例。
随着时间的推移,该存储库将进行扩展,以包含更多语言的示例。
随着2018年10月,有跨越5个不同的平台,14种语言16倍不同的兼容的例子。
演算法加密:AES-128-GCM密钥派生:PBKDF2PBKDF2基础哈希:SHA-256由于Java无限强度策略(JavaUnlimitedStrengthPolicy),选择了具有128位密钥的AES,这是由于密码导出法要求密钥大小不超过128位。
尽管使用AES-128显示了示例,但可以通过更改参数ALGORITHM_KEY_SIZE(在某些情况下为ALGORITHM_NAME)将它们轻松地更改为256位AES。
兼容性此处显示的每个示例都跨平台和/或语言兼容。
任何语言的encryptString的结果都可以由任何语言的decryptString解密。
对于与现有示例不兼容的示例,请不要提交拉取请求。
方法每个示例都公开了4种签名大致等同于以下方法的方法:stringencryptString(plaintext:
2023/1/15 16:37:45 40KB nodejs javascript ruby kotlin
1
包含了图像处理中常用的一些测试图片有灰度图像也有彩色图像大小从128*128、256*256、512*512或更大的都有图像格式为pbm、ppm、pgmMATLAB下可用。
共六个部分,全部下载完当前,任意解压一个即可。
2021/3/19 5:25:18 5.75MB 图片 图像处理
1
描述AT89C51是一个低电压,高功能CMOS8位单片机带有4K字节的可反复擦写的程序存储器(PENROM)。
和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。
片内含有8位中央处理器和闪烁存储单元,有较强的功能的AT89C51单片机能够被应用到控制领域中。
2017/10/2 22:17:56 153KB 单片机
1
单片机数模转换程序将da#include//52系列单片机头文件#include#defineucharunsignedchar#defineuintunsignedintsbitdula=P2^6;//申明U1锁存器的锁存端sbitwela=P2^7;//申明U2锁存器的锁存端sbitadwr=P3^6;//定义AD的WR端口sbitadrd=P3^7;//定义AD的RD端口sbitled=P2^5;sbitDAC0832_CS=P3^2;sbitDAC0832_WR=P3^6;sbitAD_CS=P0^7;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharweima[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf};voiddelayms(uintxms){uinti,j;for(i=xms;i>0;i--)//i=xms即延时约xms毫秒for(j=110;j>0;j--);}voiddisplay(ucharbai,ucharshi,ucharge)//显示子函数{dula=1;P0=table[bai]|0x80;//送段选数据dula=0;P0=0xff;//送位选数据前关闭所有显示,防止打开位选锁存时wela=1;//原来段选数据通过位选锁存器形成混乱P0=0x7e;//送位选数据wela=0;delayms(1);//延时dula=1;P0=table[shi];dula=0;P0=0xff;wela=1;P0=0x7d;wela=0;delayms(1);dula=1;P0=table[ge];dula=0;P0=0xff;wela=1;P0=0x7b;wela=0;delayms(1);}/*voiddisplays(uchara,ucharb,ucharc)//显示子函数{dula=1;P0=table[a];//送段选数据dula=0;P0=0xff;//送位选数据前关闭所有显示,防止打开位选锁存时wela=1;//原来段选数据通过位选锁存器形成混乱P0=0x77;//送位选数据wela=0;delayms(1);//延时dula=1;P0=table[b];dula=0;P0=0xff;wela=1;P0=0x6f;wela=0;delayms(1);dula=1;P0=table[c];dula=0;P0=0xff;wela=1;P0=0x5f;wela=0;delayms(1);}*/voiddisplays(ucharshuzi,ucharweizhi,bitdp){dula=1;if(dp)P0=table[shuzi]|0x80;elseP0=table[shuzi];dula=0;wela=1;P0=weima[weizhi];wela=0;}voidmain()//主程序{uintad;ucharA1,A2,A3,adval;AD_CS=1;//置CSAD为0,选通ADCS以后不必再管ADCSDAC0832_CS=0;DAC0832_WR=0;while(1){wela=1;P0=0x7f;wela=0;adwr=1;_nop_();adwr=0;//启动AD转换_nop_();adwr=1;P1=0xff;//读取P1口之前先给其写全1adrd=1;//选通ADCS_nop_();adrd=0;//AD读使能_nop_();
2018/2/21 19:13:45 3KB 51数模转换
1
单片机数模转换程序将da#include//52系列单片机头文件#include#defineucharunsignedchar#defineuintunsignedintsbitdula=P2^6;//申明U1锁存器的锁存端sbitwela=P2^7;//申明U2锁存器的锁存端sbitadwr=P3^6;//定义AD的WR端口sbitadrd=P3^7;//定义AD的RD端口sbitled=P2^5;sbitDAC0832_CS=P3^2;sbitDAC0832_WR=P3^6;sbitAD_CS=P0^7;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharweima[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf};voiddelayms(uintxms){uinti,j;for(i=xms;i>0;i--)//i=xms即延时约xms毫秒for(j=110;j>0;j--);}voiddisplay(ucharbai,ucharshi,ucharge)//显示子函数{dula=1;P0=table[bai]|0x80;//送段选数据dula=0;P0=0xff;//送位选数据前关闭所有显示,防止打开位选锁存时wela=1;//原来段选数据通过位选锁存器形成混乱P0=0x7e;//送位选数据wela=0;delayms(1);//延时dula=1;P0=table[shi];dula=0;P0=0xff;wela=1;P0=0x7d;wela=0;delayms(1);dula=1;P0=table[ge];dula=0;P0=0xff;wela=1;P0=0x7b;wela=0;delayms(1);}/*voiddisplays(uchara,ucharb,ucharc)//显示子函数{dula=1;P0=table[a];//送段选数据dula=0;P0=0xff;//送位选数据前关闭所有显示,防止打开位选锁存时wela=1;//原来段选数据通过位选锁存器形成混乱P0=0x77;//送位选数据wela=0;delayms(1);//延时dula=1;P0=table[b];dula=0;P0=0xff;wela=1;P0=0x6f;wela=0;delayms(1);dula=1;P0=table[c];dula=0;P0=0xff;wela=1;P0=0x5f;wela=0;delayms(1);}*/voiddisplays(ucharshuzi,ucharweizhi,bitdp){dula=1;if(dp)P0=table[shuzi]|0x80;elseP0=table[shuzi];dula=0;wela=1;P0=weima[weizhi];wela=0;}voidmain()//主程序{uintad;ucharA1,A2,A3,adval;AD_CS=1;//置CSAD为0,选通ADCS以后不必再管ADCSDAC0832_CS=0;DAC0832_WR=0;while(1){wela=1;P0=0x7f;wela=0;adwr=1;_nop_();adwr=0;//启动AD转换_nop_();adwr=1;P1=0xff;//读取P1口之前先给其写全1adrd=1;//选通ADCS_nop_();adrd=0;//AD读使能_nop_();
2019/5/4 18:48:13 3KB 51数模转换
1
opencv3.3自编译需求的e6dcfa9f647779eb1ce446a8d759b6ea-boostdesc_binboost_256.i98ea99d399965c03d555cef3ea502a0b-boostdesc_binboost_128.i等放于D:\ProgramFiles\Opencv3.3\sources\.cache下
2019/10/11 9:53:04 1.49MB boostdesc
1
md5加密算法C语言(经过测试验证完整版)经过调试验证,与工具结果一致MD5信息摘要算法(英语:MD5Message-DigestAlgorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。
MD5由美国密码学家罗纳德·李维斯特(RonaldLinnRivest)设计,于1992年公开,用以取代MD4算法。
这套算法的程序在RFC1321标准中被加以规范。
1996年后该算法被证明存在弱点,可以被加以破解,对于需要高度安全性的数据,专家一般建议改用其他算法,如SHA-2。
2004年,证明MD5算法无法防止碰撞(collision),因此不适用于安全性认证,如SSL公开密钥认证或是数字签名等用途。
2016/8/6 15:35:09 unknown C语言
1
计划了一个基于多项滤波的内插器,采用128阶凯撒窗,内插32倍
2019/8/3 15:42:57 2KB matlab
1
Fastecdsa内容易于百胜用法产生金钥签名和验证任意椭圆曲线算法导入和导出密钥编码签名致谢关于这是用于执行快速椭圆曲线加密(特别是数字签名)的python软件包。
安全没有随机数重用,没有秘密材料上的分支,并且在对它们进行任何操作之前,所有点均已验证。
通过蒙哥马利点乘法可以缓解计时方面的挑战。
随机数是根据RFC6979生成的。
整个软件包中使用的默认曲线是P256,可提供128位安全性。
如果需要更高级别的安全性,则可以在一种方法中指定curve参数,以在更大的字段(例如P384)上使用曲线。
话虽如此,加密是棘手的,而且我不会犯错误。
请使用针对安全性至关重要的使用程序而已建立并经过审查的库。
如果您发现此库有任何安全问题或风险,请打开一个问题或给我发送电子邮件。
支持的Python版本该软件包的初始版本针对python2.7。
较早的版本可能
2022/11/7 16:12:16 57KB python cryptography digital-signature ecdsa
1
GP是一个分布式X86架构,是把多台X86服务器组合成一起做一个大的集群。
相比传统单机版的Oracle和MySQL,它的特点是使用比较多的服务器做海量数据处理。
一般在企业客户中,把X86服务器采集过来后会做上机安装,如果企业使用的集群规模比较大,比如国内客户最大的有将近128个节点,数据量有1PB。
在部署的时候,X86的服务器会非常多,有超过100台的服务器。
为了保证它整个集群的高可用、功能,在部署的时候一般是需要跨多个机柜。
(双机柜为一组的部署方式)对GP来说建议在部署的时候,把服务器放在多个机柜上面,如果企业客户机器非常多,往往是以两个机柜为一组。
对于X86服务器上架之后,接下来就要把X8
1
共 156 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡