资源简介
blowfish加密算法源码及使用示例
代码片段和文件信息
//
// Blowfish C++ implementation
//
// CC0 - PUBLIC DOMAIN
// This work is free of known copyright restrictions.
// http://creativecommons.org/publicdomain/zero/1.0/
//
#include “blowfish.h“
#include
#include
#if !defined(__LITTLE_ENDIAN__) and !defined(__BIG_ENDIAN__)
#define __LITTLE_ENDIAN__
#endif
namespace {
union Converter32 {
uint32_t bit_32;
struct {
#ifdef __LITTLE_ENDIAN__
uint8_t byte3;
uint8_t byte2;
uint8_t byte1;
uint8_t byte0;
#else
uint8_t byte0;
uint8_t byte1;
uint8_t byte2;
uint8_t byte3;
#endif
} bit_8;
};
const uint32_t initial_pary[18] = {
0x243f6a88 0x85a308d3 0x13198a2e 0x03707344 0xa4093822 0x299f31d0
0x082efa98 0xec4e6c89 0x452821e6 0x38d01377 0xbe5466cf 0x34e90c6c
0xc0ac29b7 0xc97c50dd 0x3f84d5b5 0xb5470917 0x9216d5d9 0x8979fb1b};
const uint32_t initial_sbox[4][256] = {
{0xd1310ba6 0x98dfb5ac 0x2ffd72db 0xd01adfb7 0xb8e1afed 0x6a267e96
0xba7c9045 0xf12c7f99 0x24a19947 0xb3916cf7 0x0801f2e2 0x858efc16
0x636920d8 0x71574e69 0xa458fea3 0xf4933d7e 0x0d95748f 0x728eb658
0x718bcd58 0x82154aee 0x7b54a41d 0xc25a59b5 0x9c30d539 0x2af26013
0xc5d1b023 0x286085f0 0xca417918 0xb8db38ef 0x8e79dcb0 0x603a180e
0x6c9e0e8b 0xb01e8a3e 0xd71577c1 0xbd314b27 0x78af2fda 0x55605c60
0xe65525f3 0xaa55ab94 0x57489862 0x63e81440 0x55ca396a 0x2aab10b6
0xb4cc5c34 0x1141e8ce 0xa15486af 0x7c72e993 0xb3ee1411 0x636fbc2a
0x2ba9c55d 0x741831f6 0xce5c3e16 0x9b87931e 0xafd6ba33 0x6c24cf5c
0x7a325381 0x28958677 0x3b8f4898 0x6b4bb9af 0xc4bfe81b 0x66282193
0x61d809cc 0xfb21a991 0x487cac60 0x5dec8032 0xef845d5d 0xe98575b1
0xdc262302 0xeb651b88 0x23893e81 0xd396acc5 0x0f6d6ff3 0x83f44239
0x2e0b4482 0xa4842004 0x69c8f04a 0x9e1f9b5e 0x21c66842 0xf6e96c9a
0x670c9c61 0xabd388f0 0x6a51a0d2 0xd8542f68 0x960fa728 0xab5133a3
0x6eef0b6c 0x137a3be4 0xba3bf050 0x7efb2a98 0xa1f1651d 0x39af0176
0x66ca593e 0x82430e88 0x8cee8619 0x456f9fb4 0x7d84a5c3 0x3b8b5ebe
0xe06f75d8 0x85c12073 0x401a449f 0x56c16aa6 0x4ed3aa62 0x363f7706
0x1bfedf72 0x429b023d 0x37d0d724 0xd00a1248 0xdb0fead3 0x49f1c09b
0x075372c9 0x80991b7b 0x25d479d8 0xf6e8def7 0xe3fe501a 0xb6794c3b
0x976ce0bd 0x04c006ba 0xc1a94fb6 0x409f60c4 0x5e5c9ec2 0x196a2463
0x68fb6faf 0x3e6c53b5 0x1339b2eb 0x3b52ec6f 0x6dfc511f 0x9b30952c
0xcc814544 0xaf5ebd09 0xbee3d004 0xde334afd 0x660f2807 0x192e4bb3
0xc0cba857 0x45c8740f 0xd20b5f39 0xb9d3fbdb 0x5579c0bd 0x1a60320a
0xd6a100c6 0x402c7279 0x679f25fe 0xfb1fa3cc 0x8ea5e9f8 0xdb3222f8
0x3c7516df 0xfd616b15 0x2f501ec8 0xad0552ab 0x323db5fa 0xfd238760
0x53317b48 0x3e00df82 0x9e5c57bb 0xca6f8ca0 0x1a87562e 0xdf1769db
0xd542a8f6 0x287effc3 0xac6732c6 0x8c4f5573 0x695b27b0 0xbbca58c8
0xe1ffa35d
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 804 2014-10-08 10:32 blowfish.h
文件 2155 2020-08-29 16:38 test.cpp
文件 18193 2020-08-29 15:06 blowfish.cpp
- 上一篇:vc_串口通讯
- 下一篇:指针经验总结(经典_非常详细_精品)(共17页)
相关资源
- Microsoft Visual C++ 2005 Redistributable Pack
- Microsoft Visual C++ 2010 Redistributable Pack
- 仿射密码-Affine cipher
- 基于51单片机射频RFID卡考勤上课上班
- wifi无线称重机毕业设计
- filtfilt C语言实现,可直接运行验证
- AES-128-CBC算法C语言源码已经修改,可
- 页面置换算法(fifolruopt) C语言编写
- 串口通信数据库:基于RFID的电子票证
- C++实现的蓝牙应用程序框架-BlueSolei
- 页式存储管理FIFO实现
- C Standard C18-ISO_IEC-9899-2018-2x-fix-含书签
- FU6831.rar
- C语言实战——基于51单片机的RFID射频
- LL(1)文法分析全过程(FIRST/FLLOW/S
- Microsoft Visual C++ 2005 SP1 Redistributable
- Microsoft Visual C++ 2010 SP1 Redistributable
- 基于包过滤技术防火墙设计源码+论文
- Microsoft Visual C++ 2013 Redistributable X64
- soble 算子的 边缘检测 VisualC++
-
minibl
ink c++ qt 浏览器 - FillHole.rar
- VC读取shapefile文件源码,处理点线面
- 曲线拟合C语言实现
- 各种Kalman滤波的比较程序——C++/MFC版
- filter_solutions_设计滤波器笔记总结
- windows系统版本及OFFICE版本获取
- MFC bluetooth
- 链表栈的基本操作(C语言
- Microsoft Visual C++ 2013 Redistributable (x
评论
共有 条评论