看到一个不错的c++实现的md5算法 class MD5 { public: typedef unsigned int size_type; // must be 32bit MD5(); MD5(const std::string& text); void update(const unsigned char *buf, size_type length); void update(const char *buf, size_type length); MD5& finalize(); std::string hexdigest() const; friend std::ostream& operator<<(std::ostream&, MD5 md5); private: void init(); typedef unsigned char uint1; // 8bit typedef unsigned int uint4; // 32bit enum {blocksize = 64}; // VC6 won't eat a const static int here void transform(const uint1 block[blocksize]); static void decode(uint4 output[], const uint1 input[], size_type len); static void encode(uint1 output[], const uint4 input[], size_type len); bool finalized; uint1 buffer[blocksize]; // bytes that didn't fit in last 64 byte chunk uint4 count[2]; // 64bit counter for number of bits (lo, hi) uint4 state[4]; // digest so far uint1 digest[16]; // the result // low level logic operations static inline uint4 F(uint4 x, uint4 y, uint4 z); static inline uint4 G(uint4 x, uint4 y, uint4 z); static inline uint4 H(uint4 x, uint4 y, uint4 z); static inline uint4 I(uint4 x, uint4 y, uint4 z); static inline uint4 rotate_left(uint4 x, int n); static inline void FF(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac); static inline void GG(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac); static inline void HH(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac); static inline void II(uint4 &a, uint4 b, uint4 c, uint4 d, uint4 x, uint4 s, uint4 ac); }; std::string md5(const std::string &str);
2023-12-06 08:01:50 5KB md5
1
50个Python项目实例源码包括算法,游戏,自动,办公,excelworld实战源码。 包括基础知识,实操得项目源码 Python算法练习 Python基础知识源码 Python100个源码实例 Python实战操作源码 Python实战项目源码 Python源码实例包括 Python代码雨 Python简易时钟 Python查票抢票 Python抖音表白 Python二维码生成器 Python翻译软件 Python简单计时器 Python截图工具 Python名言查询 Python屏保计时器 Python贺卡 Python快递查询 Python桌面宠物 Python画爱心 Python从原Execl表中获取数据冰存入新表 Python检查world文件中的特殊标记词是否与文件名中的一致 Python微信好友头像墙 Python生成词云图
2023-12-05 23:38:03 929.91MB python 源码 项目
1
评价存储器的一个重要指标就是它的可靠性,在一般的数据存储中,几个位的错误可能不是很关键的问题,如果但是发生在某个敏感的数据上,这个小小的故障可能会导致严重的后果。因此,必须采取一些措施来及时检出并纠正出错的数据。目前常用的方法有:奇偶校验、CRC校验、重复码校验等。   ECC校验是在奇偶校验的基础上发展而来的,它将数据块看作一个矩阵,利用矩阵的行、列奇偶信息生成ECC校验码。它能够检测并纠正单比特错误和检测双比特错误,但对双比特以上的错误不能保证检测。它克服了传统奇偶校验只能检出奇数位出错、校验码冗长、不能纠错的局限性。文中在高速大容量固态存储器的硬件结构基础上,详细介绍了ECC校验码的生
1
灰狼算法(GWO)优化卷积神经网络CNN分类预测,GWO-CNN分类预测,多输入单输出模型。 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。 程序语言为matlab,程序可出分类效果图,迭代优化图,混淆矩阵图
2023-12-05 00:52:15 64KB
1
EM算法和SAGE算法实现matlab仿真代码 原理有时间了会更新
2023-12-04 20:47:22 5KB matlab
1
智能算法之粒子群算法及改进. **智能算法:粒子群算法(Particle Swarm Optimization,PSO)** **资源描述:** 1. **算法原理与思想:** 粒子群算法是一种基于群体智能的优化算法,灵感来自于鸟群或鱼群等自然界中群体的协作行为。在PSO中,问题的解被看作是一群粒子,在解空间中不断移动,通过跟随历史上最优解(局部最优解)和整个群体的最优解(全局最优解)来寻找最优解。 2. **基本步骤:** - 初始化粒子群的位置和速度。 - 计算每个粒子的适应度(目标函数值)。 - 更新每个粒子的速度和位置,以便它们向着历史上最优解和群体的最优解移动。 - 重复上述步骤,直到达到预定的停止条件(例如,迭代次数达到预定值或找到满足要求的解)。 3. **算法优势:** - PSO算法简单易懂,容易实现。 - 由于其并行性,PSO适用于高维优化问题。 - PSO具有全局搜索能力,能够找到接近全局最优解的解。 4. **改进的粒子群算法:** - 多种改进的粒子群算法被提出,例如自适应权重PSO(Adapti
2023-12-04 11:31:10 160KB 机器学习 粒子群算法
1
算法设计与分析过程中的学习代码加解析,免费提供给各位,如有错误望不吝赐教
2023-12-04 09:26:58 26KB 算法设计
1
KNN算法教学ppt全面 邻近算法,或者说K最邻近(KNN,K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它最接近的K个邻近值来代表。近邻算法就是将数据集合中每一个记录进行分类的方法 该方法的不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最邻近点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。另外还有一种 Reverse KNN法,它能降低KNN算法的计算复杂度,提高分类的效率 [2] 。 KNN算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分
2023-12-03 11:10:20 4.16MB 数据挖掘
1
java 加密解密 软件 课程设计 des 算法 软件源代码
2023-12-03 07:04:33 17KB java 加密解密软件 课程设计
1
用java程序实现的一个中国象棋的算法课程设计,里面包含源程序,且调试运行成功.
2023-12-03 07:01:57 916KB 博弈,java,算法,课程设计
1