Skip to content

crypto.blowfish #

Constants #

const p = [
	u32(0x243f6a88),
	0x85a308d3,
	0x13198a2e,
	0x03707344,
	0xa4093822,
	0x299f31d0,
	0x082efa98,
	0xec4e6c89,
	0x452821e6,
	0x38d01377,
	0xbe5466cf,
	0x34e90c6c,
	0xc0ac29b7,
	0xc97c50dd,
	0x3f84d5b5,
	0xb5470917,
	0x9216d5d9,
	0x8979fb1b,
]!
const s = [
	[
		u32(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,
		0xb8f011a0,
		0x10fa3d98,
		0xfd2183b8,
		0x4afcb56c,
		0x2dd1d35b,
		0x9a53e479,
		0xb6f84565,
		0xd28e49bc,
		0x4bfb9790,
		0xe1ddf2da,
		0xa4cb7e33,
		0x62fb1341,
		0xcee4c6e8,
		0xef20cada,
		0x36774c01,
		0xd07e9efe,
		0x2bf11fb4,
		0x95dbda4d,
		0xae909198,
		0xeaad8e71,
		0x6b93d5a0,
		0xd08ed1d0,
		0xafc725e0,
		0x8e3c5b2f,
		0x8e7594b7,
		0x8ff6e2fb,
		0xf2122b64,
		0x8888b812,
		0x900df01c,
		0x4fad5ea0,
		0x688fc31c,
		0xd1cff191,
		0xb3a8c1ad,
		0x2f2f2218,
		0xbe0e1777,
		0xea752dfe,
		0x8b021fa1,
		0xe5a0cc0f,
		0xb56f74e8,
		0x18acf3d6,
		0xce89e299,
		0xb4a84fe0,
		0xfd13e0b7,
		0x7cc43b81,
		0xd2ada8d9,
		0x165fa266,
		0x80957705,
		0x93cc7314,
		0x211a1477,
		0xe6ad2065,
		0x77b5fa86,
		0xc75442f5,
		0xfb9d35cf,
		0xebcdaf0c,
		0x7b3e89a0,
		0xd6411bd3,
		0xae1e7e49,
		0x00250e2d,
		0x2071b35e,
		0x226800bb,
		0x57b8e0af,
		0x2464369b,
		0xf009b91e,
		0x5563911d,
		0x59dfa6aa,
		0x78c14389,
		0xd95a537f,
		0x207d5ba2,
		0x02e5b9c5,
		0x83260376,
		0x6295cfa9,
		0x11c81968,
		0x4e734a41,
		0xb3472dca,
		0x7b14a94a,
		0x1b510052,
		0x9a532915,
		0xd60f573f,
		0xbc9bc6e4,
		0x2b60a476,
		0x81e67400,
		0x08ba6fb5,
		0x571be91f,
		0xf296ec6b,
		0x2a0dd915,
		0xb6636521,
		0xe7b9f9b6,
		0xff34052e,
		0xc5855664,
		0x53b02d5d,
		0xa99f8fa1,
		0x08ba4799,
		0x6e85076a,
	]!,
	[
		u32(0x4b7a70e9),
		0xb5b32944,
		0xdb75092e,
		0xc4192623,
		0xad6ea6b0,
		0x49a7df7d,
		0x9cee60b8,
		0x8fedb266,
		0xecaa8c71,
		0x699a17ff,
		0x5664526c,
		0xc2b19ee1,
		0x193602a5,
		0x75094c29,
		0xa0591340,
		0xe4183a3e,
		0x3f54989a,
		0x5b429d65,
		0x6b8fe4d6,
		0x99f73fd6,
		0xa1d29c07,
		0xefe830f5,
		0x4d2d38e6,
		0xf0255dc1,
		0x4cdd2086,
		0x8470eb26,
		0x6382e9c6,
		0x021ecc5e,
		0x09686b3f,
		0x3ebaefc9,
		0x3c971814,
		0x6b6a70a1,
		0x687f3584,
		0x52a0e286,
		0xb79c5305,
		0xaa500737,
		0x3e07841c,
		0x7fdeae5c,
		0x8e7d44ec,
		0x5716f2b8,
		0xb03ada37,
		0xf0500c0d,
		0xf01c1f04,
		0x0200b3ff,
		0xae0cf51a,
		0x3cb574b2,
		0x25837a58,
		0xdc0921bd,
		0xd19113f9,
		0x7ca92ff6,
		0x94324773,
		0x22f54701,
		0x3ae5e581,
		0x37c2dadc,
		0xc8b57634,
		0x9af3dda7,
		0xa9446146,
		0x0fd0030e,
		0xecc8c73e,
		0xa4751e41,
		0xe238cd99,
		0x3bea0e2f,
		0x3280bba1,
		0x183eb331,
		0x4e548b38,
		0x4f6db908,
		0x6f420d03,
		0xf60a04bf,
		0x2cb81290,
		0x24977c79,
		0x5679b072,
		0xbcaf89af,
		0xde9a771f,
		0xd9930810,
		0xb38bae12,
		0xdccf3f2e,
		0x5512721f,
		0x2e6b7124,
		0x501adde6,
		0x9f84cd87,
		0x7a584718,
		0x7408da17,
		0xbc9f9abc,
		0xe94b7d8c,
		0xec7aec3a,
		0xdb851dfa,
		0x63094366,
		0xc464c3d2,
		0xef1c1847,
		0x3215d908,
		0xdd433b37,
		0x24c2ba16,
		0x12a14d43,
		0x2a65c451,
		0x50940002,
		0x133ae4dd,
		0x71dff89e,
		0x10314e55,
		0x81ac77d6,
		0x5f11199b,
		0x043556f1,
		0xd7a3c76b,
		0x3c11183b,
		0x5924a509,
		0xf28fe6ed,
		0x97f1fbfa,
		0x9ebabf2c,
		0x1e153c6e,
		0x86e34570,
		0xeae96fb1,
		0x860e5e0a,
		0x5a3e2ab3,
		0x771fe71c,
		0x4e3d06fa,
		0x2965dcb9,
		0x99e71d0f,
		0x803e89d6,
		0x5266c825,
		0x2e4cc978,
		0x9c10b36a,
		0xc6150eba,
		0x94e2ea78,
		0xa5fc3c53,
		0x1e0a2df4,
		0xf2f74ea7,
		0x361d2b3d,
		0x1939260f,
		0x19c27960,
		0x5223a708,
		0xf71312b6,
		0xebadfe6e,
		0xeac31f66,
		0xe3bc4595,
		0xa67bc883,
		0xb17f37d1,
		0x018cff28,
		0xc332ddef,
		0xbe6c5aa5,
		0x65582185,
		0x68ab9802,
		0xeecea50f,
		0xdb2f953b,
		0x2aef7dad,
		0x5b6e2f84,
		0x1521b628,
		0x29076170,
		0xecdd4775,
		0x619f1510,
		0x13cca830,
		0xeb61bd96,
		0x0334fe1e,
		0xaa0363cf,
		0xb5735c90,
		0x4c70a239,
		0xd59e9e0b,
		0xcbaade14,
		0xeecc86bc,
		0x60622ca7,
		0x9cab5cab,
		0xb2f3846e,
		0x648b1eaf,
		0x19bdf0ca,
		0xa02369b9,
		0x655abb50,
		0x40685a32,
		0x3c2ab4b3,
		0x319ee9d5,
		0xc021b8f7,
		0x9b540b19,
		0x875fa099,
		0x95f7997e,
		0x623d7da8,
		0xf837889a,
		0x97e32d77,
		0x11ed935f,
		0x16681281,
		0x0e358829,
		0xc7e61fd6,
		0x96dedfa1,
		0x7858ba99,
		0x57f584a5,
		0x1b227263,
		0x9b83c3ff,
		0x1ac24696,
		0xcdb30aeb,
		0x532e3054,
		0x8fd948e4,
		0x6dbc3128,
		0x58ebf2ef,
		0x34c6ffea,
		0xfe28ed61,
		0xee7c3c73,
		0x5d4a14d9,
		0xe864b7e3,
		0x42105d14,
		0x203e13e0,
		0x45eee2b6,
		0xa3aaabea,
		0xdb6c4f15,
		0xfacb4fd0,
		0xc742f442,
		0xef6abbb5,
		0x654f3b1d,
		0x41cd2105,
		0xd81e799e,
		0x86854dc7,
		0xe44b476a,
		0x3d816250,
		0xcf62a1f2,
		0x5b8d2646,
		0xfc8883a0,
		0xc1c7b6a3,
		0x7f1524c3,
		0x69cb7492,
		0x47848a0b,
		0x5692b285,
		0x095bbf00,
		0xad19489d,
		0x1462b174,
		0x23820e00,
		0x58428d2a,
		0x0c55f5ea,
		0x1dadf43e,
		0x233f7061,
		0x3372f092,
		0x8d937e41,
		0xd65fecf1,
		0x6c223bdb,
		0x7cde3759,
		0xcbee7460,
		0x4085f2a7,
		0xce77326e,
		0xa6078084,
		0x19f8509e,
		0xe8efd855,
		0x61d99735,
		0xa969a7aa,
		0xc50c06c2,
		0x5a04abfc,
		0x800bcadc,
		0x9e447a2e,
		0xc3453484,
		0xfdd56705,
		0x0e1e9ec9,
		0xdb73dbd3,
		0x105588cd,
		0x675fda79,
		0xe3674340,
		0xc5c43465,
		0x713e38d8,
		0x3d28f89e,
		0xf16dff20,
		0x153e21e7,
		0x8fb03d4a,
		0xe6e39f2b,
		0xdb83adf7,
	]!,
	[
		u32(0xe93d5a68),
		0x948140f7,
		0xf64c261c,
		0x94692934,
		0x411520f7,
		0x7602d4f7,
		0xbcf46b2e,
		0xd4a20068,
		0xd4082471,
		0x3320f46a,
		0x43b7d4b7,
		0x500061af,
		0x1e39f62e,
		0x97244546,
		0x14214f74,
		0xbf8b8840,
		0x4d95fc1d,
		0x96b591af,
		0x70f4ddd3,
		0x66a02f45,
		0xbfbc09ec,
		0x03bd9785,
		0x7fac6dd0,
		0x31cb8504,
		0x96eb27b3,
		0x55fd3941,
		0xda2547e6,
		0xabca0a9a,
		0x28507825,
		0x530429f4,
		0x0a2c86da,
		0xe9b66dfb,
		0x68dc1462,
		0xd7486900,
		0x680ec0a4,
		0x27a18dee,
		0x4f3ffea2,
		0xe887ad8c,
		0xb58ce006,
		0x7af4d6b6,
		0xaace1e7c,
		0xd3375fec,
		0xce78a399,
		0x406b2a42,
		0x20fe9e35,
		0xd9f385b9,
		0xee39d7ab,
		0x3b124e8b,
		0x1dc9faf7,
		0x4b6d1856,
		0x26a36631,
		0xeae397b2,
		0x3a6efa74,
		0xdd5b4332,
		0x6841e7f7,
		0xca7820fb,
		0xfb0af54e,
		0xd8feb397,
		0x454056ac,
		0xba489527,
		0x55533a3a,
		0x20838d87,
		0xfe6ba9b7,
		0xd096954b,
		0x55a867bc,
		0xa1159a58,
		0xcca92963,
		0x99e1db33,
		0xa62a4a56,
		0x3f3125f9,
		0x5ef47e1c,
		0x9029317c,
		0xfdf8e802,
		0x04272f70,
		0x80bb155c,
		0x05282ce3,
		0x95c11548,
		0xe4c66d22,
		0x48c1133f,
		0xc70f86dc,
		0x07f9c9ee,
		0x41041f0f,
		0x404779a4,
		0x5d886e17,
		0x325f51eb,
		0xd59bc0d1,
		0xf2bcc18f,
		0x41113564,
		0x257b7834,
		0x602a9c60,
		0xdff8e8a3,
		0x1f636c1b,
		0x0e12b4c2,
		0x02e1329e,
		0xaf664fd1,
		0xcad18115,
		0x6b2395e0,
		0x333e92e1,
		0x3b240b62,
		0xeebeb922,
		0x85b2a20e,
		0xe6ba0d99,
		0xde720c8c,
		0x2da2f728,
		0xd0127845,
		0x95b794fd,
		0x647d0862,
		0xe7ccf5f0,
		0x5449a36f,
		0x877d48fa,
		0xc39dfd27,
		0xf33e8d1e,
		0x0a476341,
		0x992eff74,
		0x3a6f6eab,
		0xf4f8fd37,
		0xa812dc60,
		0xa1ebddf8,
		0x991be14c,
		0xdb6e6b0d,
		0xc67b5510,
		0x6d672c37,
		0x2765d43b,
		0xdcd0e804,
		0xf1290dc7,
		0xcc00ffa3,
		0xb5390f92,
		0x690fed0b,
		0x667b9ffb,
		0xcedb7d9c,
		0xa091cf0b,
		0xd9155ea3,
		0xbb132f88,
		0x515bad24,
		0x7b9479bf,
		0x763bd6eb,
		0x37392eb3,
		0xcc115979,
		0x8026e297,
		0xf42e312d,
		0x6842ada7,
		0xc66a2b3b,
		0x12754ccc,
		0x782ef11c,
		0x6a124237,
		0xb79251e7,
		0x06a1bbe6,
		0x4bfb6350,
		0x1a6b1018,
		0x11caedfa,
		0x3d25bdd8,
		0xe2e1c3c9,
		0x44421659,
		0x0a121386,
		0xd90cec6e,
		0xd5abea2a,
		0x64af674e,
		0xda86a85f,
		0xbebfe988,
		0x64e4c3fe,
		0x9dbc8057,
		0xf0f7c086,
		0x60787bf8,
		0x6003604d,
		0xd1fd8346,
		0xf6381fb0,
		0x7745ae04,
		0xd736fccc,
		0x83426b33,
		0xf01eab71,
		0xb0804187,
		0x3c005e5f,
		0x77a057be,
		0xbde8ae24,
		0x55464299,
		0xbf582e61,
		0x4e58f48f,
		0xf2ddfda2,
		0xf474ef38,
		0x8789bdc2,
		0x5366f9c3,
		0xc8b38e74,
		0xb475f255,
		0x46fcd9b9,
		0x7aeb2661,
		0x8b1ddf84,
		0x846a0e79,
		0x915f95e2,
		0x466e598e,
		0x20b45770,
		0x8cd55591,
		0xc902de4c,
		0xb90bace1,
		0xbb8205d0,
		0x11a86248,
		0x7574a99e,
		0xb77f19b6,
		0xe0a9dc09,
		0x662d09a1,
		0xc4324633,
		0xe85a1f02,
		0x09f0be8c,
		0x4a99a025,
		0x1d6efe10,
		0x1ab93d1d,
		0x0ba5a4df,
		0xa186f20f,
		0x2868f169,
		0xdcb7da83,
		0x573906fe,
		0xa1e2ce9b,
		0x4fcd7f52,
		0x50115e01,
		0xa70683fa,
		0xa002b5c4,
		0x0de6d027,
		0x9af88c27,
		0x773f8641,
		0xc3604c06,
		0x61a806b5,
		0xf0177a28,
		0xc0f586e0,
		0x006058aa,
		0x30dc7d62,
		0x11e69ed7,
		0x2338ea63,
		0x53c2dd94,
		0xc2c21634,
		0xbbcbee56,
		0x90bcb6de,
		0xebfc7da1,
		0xce591d76,
		0x6f05e409,
		0x4b7c0188,
		0x39720a3d,
		0x7c927c24,
		0x86e3725f,
		0x724d9db9,
		0x1ac15bb4,
		0xd39eb8fc,
		0xed545578,
		0x08fca5b5,
		0xd83d7cd3,
		0x4dad0fc4,
		0x1e50ef5e,
		0xb161e6f8,
		0xa28514d9,
		0x6c51133c,
		0x6fd5c7e7,
		0x56e14ec4,
		0x362abfce,
		0xddc6c837,
		0xd79a3234,
		0x92638212,
		0x670efa8e,
		0x406000e0,
	]!,
	[
		u32(0x3a39ce37),
		0xd3faf5cf,
		0xabc27737,
		0x5ac52d1b,
		0x5cb0679e,
		0x4fa33742,
		0xd3822740,
		0x99bc9bbe,
		0xd5118e9d,
		0xbf0f7315,
		0xd62d1c7e,
		0xc700c47b,
		0xb78c1b6b,
		0x21a19045,
		0xb26eb1be,
		0x6a366eb4,
		0x5748ab2f,
		0xbc946e79,
		0xc6a376d2,
		0x6549c2c8,
		0x530ff8ee,
		0x468dde7d,
		0xd5730a1d,
		0x4cd04dc6,
		0x2939bbdb,
		0xa9ba4650,
		0xac9526e8,
		0xbe5ee304,
		0xa1fad5f0,
		0x6a2d519a,
		0x63ef8ce2,
		0x9a86ee22,
		0xc089c2b8,
		0x43242ef6,
		0xa51e03aa,
		0x9cf2d0a4,
		0x83c061ba,
		0x9be96a4d,
		0x8fe51550,
		0xba645bd6,
		0x2826a2f9,
		0xa73a3ae1,
		0x4ba99586,
		0xef5562e9,
		0xc72fefd3,
		0xf752f7da,
		0x3f046f69,
		0x77fa0a59,
		0x80e4a915,
		0x87b08601,
		0x9b09e6ad,
		0x3b3ee593,
		0xe990fd5a,
		0x9e34d797,
		0x2cf0b7d9,
		0x022b8b51,
		0x96d5ac3a,
		0x017da67d,
		0xd1cf3ed6,
		0x7c7d2d28,
		0x1f9f25cf,
		0xadf2b89b,
		0x5ad6b472,
		0x5a88f54c,
		0xe029ac71,
		0xe019a5e6,
		0x47b0acfd,
		0xed93fa9b,
		0xe8d3c48d,
		0x283b57cc,
		0xf8d56629,
		0x79132e28,
		0x785f0191,
		0xed756055,
		0xf7960e44,
		0xe3d35e8c,
		0x15056dd4,
		0x88f46dba,
		0x03a16125,
		0x0564f0bd,
		0xc3eb9e15,
		0x3c9057a2,
		0x97271aec,
		0xa93a072a,
		0x1b3f6d9b,
		0x1e6321f5,
		0xf59c66fb,
		0x26dcf319,
		0x7533d928,
		0xb155fdf5,
		0x03563482,
		0x8aba3cbb,
		0x28517711,
		0xc20ad9f8,
		0xabcc5167,
		0xccad925f,
		0x4de81751,
		0x3830dc8e,
		0x379d5862,
		0x9320f991,
		0xea7a90c2,
		0xfb3e7bce,
		0x5121ce64,
		0x774fbe32,
		0xa8b6e37e,
		0xc3293d46,
		0x48de5369,
		0x6413e680,
		0xa2ae0810,
		0xdd6db224,
		0x69852dfd,
		0x09072166,
		0xb39a460a,
		0x6445c0dd,
		0x586cdecf,
		0x1c20c8ae,
		0x5bbef7dd,
		0x1b588d40,
		0xccd2017f,
		0x6bb4e3bb,
		0xdda26a7e,
		0x3a59ff45,
		0x3e350a44,
		0xbcb4cdd5,
		0x72eacea8,
		0xfa6484bb,
		0x8d6612ae,
		0xbf3c6f47,
		0xd29be463,
		0x542f5d9e,
		0xaec2771b,
		0xf64e6370,
		0x740e0d8d,
		0xe75b1357,
		0xf8721671,
		0xaf537d5d,
		0x4040cb08,
		0x4eb4e2cc,
		0x34d2466a,
		0x0115af84,
		0xe1b00428,
		0x95983a1d,
		0x06b89fb4,
		0xce6ea048,
		0x6f3f3b82,
		0x3520ab82,
		0x011a1d4b,
		0x277227f8,
		0x611560b1,
		0xe7933fdc,
		0xbb3a792b,
		0x344525bd,
		0xa08839e1,
		0x51ce794b,
		0x2f32c9b7,
		0xa01fbac9,
		0xe01cc87e,
		0xbcc7d1f6,
		0xcf0111c3,
		0xa1e8aac7,
		0x1a908749,
		0xd44fbd9a,
		0xd0dadecb,
		0xd50ada38,
		0x0339c32a,
		0xc6913667,
		0x8df9317c,
		0xe0b12b4f,
		0xf79e59b7,
		0x43f5bb3a,
		0xf2d519ff,
		0x27d9459c,
		0xbf97222c,
		0x15e6fc2a,
		0x0f91fc71,
		0x9b941525,
		0xfae59361,
		0xceb69ceb,
		0xc2a86459,
		0x12baa8d1,
		0xb6c1075e,
		0xe3056a0c,
		0x10d25065,
		0xcb03a442,
		0xe0ec6e0e,
		0x1698db3b,
		0x4c98a0be,
		0x3278e964,
		0x9f1f9532,
		0xe0d392df,
		0xd3a0342b,
		0x8971f21e,
		0x1b0a7441,
		0x4ba3348c,
		0xc5be7120,
		0xc37632d8,
		0xdf359f8d,
		0x9b992f2e,
		0xe60b6f47,
		0x0fe3f11d,
		0xe54cda54,
		0x1edad891,
		0xce6279cf,
		0xcd3e7e6f,
		0x1618b166,
		0xfd2c1d05,
		0x848fd2c5,
		0xf6fb2299,
		0xf523f357,
		0xa6327623,
		0x93a83531,
		0x56cccd02,
		0xacf08162,
		0x5a75ebb5,
		0x6e163697,
		0x88d273cc,
		0xde966292,
		0x81b949d0,
		0x4c50901b,
		0x71c65614,
		0xe6c6c7bd,
		0x327a140a,
		0x45e1d006,
		0xc3f27b9a,
		0xc9aa53fd,
		0x62a80f00,
		0xbb25bfe2,
		0x35bdd2f6,
		0x71126905,
		0xb2040222,
		0xb6cbcf7c,
		0xcd769c2b,
		0x53113ec0,
		0x1640e3d3,
		0x38abbd60,
		0x2547adf0,
		0xba38209c,
		0xf746ce76,
		0x77afa1c5,
		0x20756060,
		0x85cbfe4e,
		0x8ae88dd8,
		0x7aaaf9b0,
		0x4cf9aa7e,
		0x1948c25c,
		0x02fb8a8c,
		0x01c36ae4,
		0xd6ebe1f9,
		0x90d4f869,
		0xa65cdea0,
		0x3f09252d,
		0xc208e69f,
		0xb74e6132,
		0xce77e25b,
		0x578fdfe3,
		0x3ac372e6,
	]!,
]!

fn expand_key #

fn expand_key(key []u8, mut bf Blowfish)

expand_key performs a key expansion on the given Blowfish cipher.

fn expand_key_with_salt #

fn expand_key_with_salt(key []u8, salt []u8, mut bf Blowfish)

expand_key_with_salt using salt to expand the key.

fn new_cipher #

fn new_cipher(key []u8) ?Blowfish

new_cipher creates and returns a new Blowfish cipher.
The key argument should be the Blowfish key, from 1 to 56 bytes.

fn new_salted_cipher #

fn new_salted_cipher(key []u8, salt []u8) ?Blowfish

new_salted_cipher returns a new Blowfish cipher that folds a salt into its key schedule.

struct Blowfish #

struct Blowfish {
pub mut:
	p [18]u32
	s [4][256]u32
}

fn (Blowfish) encrypt #

fn (mut bf Blowfish) encrypt(mut dst []u8, src []u8)

encrypt encrypts the 8-byte buffer src using the key k and stores the result in dst.