⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aes.c

📁 该文件可以用VC++6.0打开编译实现加密解密功能
💻 C
📖 第 1 页 / 共 3 页
字号:
    0x01B79AEC, 0x0ABA93E2, 0x17AD88F0, 0x1CA081FE, 0x2D83BED4, 0x268EB7DA,    0x3B99ACC8, 0x3094A5C6, 0x59DFD29C, 0x52D2DB92, 0x4FC5C080, 0x44C8C98E,    0x75EBF6A4, 0x7EE6FFAA, 0x63F1E4B8, 0x68FCEDB6, 0xB1670A0C, 0xBA6A0302,    0xA77D1810, 0xAC70111E, 0x9D532E34, 0x965E273A, 0x8B493C28, 0x80443526,    0xE90F427C, 0xE2024B72, 0xFF155060, 0xF418596E, 0xC53B6644, 0xCE366F4A,    0xD3217458, 0xD82C7D56, 0x7A0CA137, 0x7101A839, 0x6C16B32B, 0x671BBA25,    0x5638850F, 0x5D358C01, 0x40229713, 0x4B2F9E1D, 0x2264E947, 0x2969E049,    0x347EFB5B, 0x3F73F255, 0x0E50CD7F, 0x055DC471, 0x184ADF63, 0x1347D66D,    0xCADC31D7, 0xC1D138D9, 0xDCC623CB, 0xD7CB2AC5, 0xE6E815EF, 0xEDE51CE1,    0xF0F207F3, 0xFBFF0EFD, 0x92B479A7, 0x99B970A9, 0x84AE6BBB, 0x8FA362B5,    0xBE805D9F, 0xB58D5491, 0xA89A4F83, 0xA397468D};static const word Td1[] ={    0x00000000, 0x0D090E0B, 0x1A121C16, 0x171B121D, 0x3424382C, 0x392D3627,    0x2E36243A, 0x233F2A31, 0x68487058, 0x65417E53, 0x725A6C4E, 0x7F536245,    0x5C6C4874, 0x5165467F, 0x467E5462, 0x4B775A69, 0xD090E0B0, 0xDD99EEBB,    0xCA82FCA6, 0xC78BF2AD, 0xE4B4D89C, 0xE9BDD697, 0xFEA6C48A, 0xF3AFCA81,    0xB8D890E8, 0xB5D19EE3, 0xA2CA8CFE, 0xAFC382F5, 0x8CFCA8C4, 0x81F5A6CF,    0x96EEB4D2, 0x9BE7BAD9, 0xBB3BDB7B, 0xB632D570, 0xA129C76D, 0xAC20C966,    0x8F1FE357, 0x8216ED5C, 0x950DFF41, 0x9804F14A, 0xD373AB23, 0xDE7AA528,    0xC961B735, 0xC468B93E, 0xE757930F, 0xEA5E9D04, 0xFD458F19, 0xF04C8112,    0x6BAB3BCB, 0x66A235C0, 0x71B927DD, 0x7CB029D6, 0x5F8F03E7, 0x52860DEC,    0x459D1FF1, 0x489411FA, 0x03E34B93, 0x0EEA4598, 0x19F15785, 0x14F8598E,    0x37C773BF, 0x3ACE7DB4, 0x2DD56FA9, 0x20DC61A2, 0x6D76ADF6, 0x607FA3FD,    0x7764B1E0, 0x7A6DBFEB, 0x595295DA, 0x545B9BD1, 0x434089CC, 0x4E4987C7,    0x053EDDAE, 0x0837D3A5, 0x1F2CC1B8, 0x1225CFB3, 0x311AE582, 0x3C13EB89,    0x2B08F994, 0x2601F79F, 0xBDE64D46, 0xB0EF434D, 0xA7F45150, 0xAAFD5F5B,    0x89C2756A, 0x84CB7B61, 0x93D0697C, 0x9ED96777, 0xD5AE3D1E, 0xD8A73315,    0xCFBC2108, 0xC2B52F03, 0xE18A0532, 0xEC830B39, 0xFB981924, 0xF691172F,    0xD64D768D, 0xDB447886, 0xCC5F6A9B, 0xC1566490, 0xE2694EA1, 0xEF6040AA,    0xF87B52B7, 0xF5725CBC, 0xBE0506D5, 0xB30C08DE, 0xA4171AC3, 0xA91E14C8,    0x8A213EF9, 0x872830F2, 0x903322EF, 0x9D3A2CE4, 0x06DD963D, 0x0BD49836,    0x1CCF8A2B, 0x11C68420, 0x32F9AE11, 0x3FF0A01A, 0x28EBB207, 0x25E2BC0C,    0x6E95E665, 0x639CE86E, 0x7487FA73, 0x798EF478, 0x5AB1DE49, 0x57B8D042,    0x40A3C25F, 0x4DAACC54, 0xDAEC41F7, 0xD7E54FFC, 0xC0FE5DE1, 0xCDF753EA,    0xEEC879DB, 0xE3C177D0, 0xF4DA65CD, 0xF9D36BC6, 0xB2A431AF, 0xBFAD3FA4,    0xA8B62DB9, 0xA5BF23B2, 0x86800983, 0x8B890788, 0x9C921595, 0x919B1B9E,    0x0A7CA147, 0x0775AF4C, 0x106EBD51, 0x1D67B35A, 0x3E58996B, 0x33519760,    0x244A857D, 0x29438B76, 0x6234D11F, 0x6F3DDF14, 0x7826CD09, 0x752FC302,    0x5610E933, 0x5B19E738, 0x4C02F525, 0x410BFB2E, 0x61D79A8C, 0x6CDE9487,    0x7BC5869A, 0x76CC8891, 0x55F3A2A0, 0x58FAACAB, 0x4FE1BEB6, 0x42E8B0BD,    0x099FEAD4, 0x0496E4DF, 0x138DF6C2, 0x1E84F8C9, 0x3DBBD2F8, 0x30B2DCF3,    0x27A9CEEE, 0x2AA0C0E5, 0xB1477A3C, 0xBC4E7437, 0xAB55662A, 0xA65C6821,    0x85634210, 0x886A4C1B, 0x9F715E06, 0x9278500D, 0xD90F0A64, 0xD406046F,    0xC31D1672, 0xCE141879, 0xED2B3248, 0xE0223C43, 0xF7392E5E, 0xFA302055,    0xB79AEC01, 0xBA93E20A, 0xAD88F017, 0xA081FE1C, 0x83BED42D, 0x8EB7DA26,    0x99ACC83B, 0x94A5C630, 0xDFD29C59, 0xD2DB9252, 0xC5C0804F, 0xC8C98E44,    0xEBF6A475, 0xE6FFAA7E, 0xF1E4B863, 0xFCEDB668, 0x670A0CB1, 0x6A0302BA,    0x7D1810A7, 0x70111EAC, 0x532E349D, 0x5E273A96, 0x493C288B, 0x44352680,    0x0F427CE9, 0x024B72E2, 0x155060FF, 0x18596EF4, 0x3B6644C5, 0x366F4ACE,    0x217458D3, 0x2C7D56D8, 0x0CA1377A, 0x01A83971, 0x16B32B6C, 0x1BBA2567,    0x38850F56, 0x358C015D, 0x22971340, 0x2F9E1D4B, 0x64E94722, 0x69E04929,    0x7EFB5B34, 0x73F2553F, 0x50CD7F0E, 0x5DC47105, 0x4ADF6318, 0x47D66D13,    0xDC31D7CA, 0xD138D9C1, 0xC623CBDC, 0xCB2AC5D7, 0xE815EFE6, 0xE51CE1ED,    0xF207F3F0, 0xFF0EFDFB, 0xB479A792, 0xB970A999, 0xAE6BBB84, 0xA362B58F,    0x805D9FBE, 0x8D5491B5, 0x9A4F83A8, 0x97468DA3};static const word Td2[] ={    0x00000000, 0x090E0B0D, 0x121C161A, 0x1B121D17, 0x24382C34, 0x2D362739,    0x36243A2E, 0x3F2A3123, 0x48705868, 0x417E5365, 0x5A6C4E72, 0x5362457F,    0x6C48745C, 0x65467F51, 0x7E546246, 0x775A694B, 0x90E0B0D0, 0x99EEBBDD,    0x82FCA6CA, 0x8BF2ADC7, 0xB4D89CE4, 0xBDD697E9, 0xA6C48AFE, 0xAFCA81F3,    0xD890E8B8, 0xD19EE3B5, 0xCA8CFEA2, 0xC382F5AF, 0xFCA8C48C, 0xF5A6CF81,    0xEEB4D296, 0xE7BAD99B, 0x3BDB7BBB, 0x32D570B6, 0x29C76DA1, 0x20C966AC,    0x1FE3578F, 0x16ED5C82, 0x0DFF4195, 0x04F14A98, 0x73AB23D3, 0x7AA528DE,    0x61B735C9, 0x68B93EC4, 0x57930FE7, 0x5E9D04EA, 0x458F19FD, 0x4C8112F0,    0xAB3BCB6B, 0xA235C066, 0xB927DD71, 0xB029D67C, 0x8F03E75F, 0x860DEC52,    0x9D1FF145, 0x9411FA48, 0xE34B9303, 0xEA45980E, 0xF1578519, 0xF8598E14,    0xC773BF37, 0xCE7DB43A, 0xD56FA92D, 0xDC61A220, 0x76ADF66D, 0x7FA3FD60,    0x64B1E077, 0x6DBFEB7A, 0x5295DA59, 0x5B9BD154, 0x4089CC43, 0x4987C74E,    0x3EDDAE05, 0x37D3A508, 0x2CC1B81F, 0x25CFB312, 0x1AE58231, 0x13EB893C,    0x08F9942B, 0x01F79F26, 0xE64D46BD, 0xEF434DB0, 0xF45150A7, 0xFD5F5BAA,    0xC2756A89, 0xCB7B6184, 0xD0697C93, 0xD967779E, 0xAE3D1ED5, 0xA73315D8,    0xBC2108CF, 0xB52F03C2, 0x8A0532E1, 0x830B39EC, 0x981924FB, 0x91172FF6,    0x4D768DD6, 0x447886DB, 0x5F6A9BCC, 0x566490C1, 0x694EA1E2, 0x6040AAEF,    0x7B52B7F8, 0x725CBCF5, 0x0506D5BE, 0x0C08DEB3, 0x171AC3A4, 0x1E14C8A9,    0x213EF98A, 0x2830F287, 0x3322EF90, 0x3A2CE49D, 0xDD963D06, 0xD498360B,    0xCF8A2B1C, 0xC6842011, 0xF9AE1132, 0xF0A01A3F, 0xEBB20728, 0xE2BC0C25,    0x95E6656E, 0x9CE86E63, 0x87FA7374, 0x8EF47879, 0xB1DE495A, 0xB8D04257,    0xA3C25F40, 0xAACC544D, 0xEC41F7DA, 0xE54FFCD7, 0xFE5DE1C0, 0xF753EACD,    0xC879DBEE, 0xC177D0E3, 0xDA65CDF4, 0xD36BC6F9, 0xA431AFB2, 0xAD3FA4BF,    0xB62DB9A8, 0xBF23B2A5, 0x80098386, 0x8907888B, 0x9215959C, 0x9B1B9E91,    0x7CA1470A, 0x75AF4C07, 0x6EBD5110, 0x67B35A1D, 0x58996B3E, 0x51976033,    0x4A857D24, 0x438B7629, 0x34D11F62, 0x3DDF146F, 0x26CD0978, 0x2FC30275,    0x10E93356, 0x19E7385B, 0x02F5254C, 0x0BFB2E41, 0xD79A8C61, 0xDE94876C,    0xC5869A7B, 0xCC889176, 0xF3A2A055, 0xFAACAB58, 0xE1BEB64F, 0xE8B0BD42,    0x9FEAD409, 0x96E4DF04, 0x8DF6C213, 0x84F8C91E, 0xBBD2F83D, 0xB2DCF330,    0xA9CEEE27, 0xA0C0E52A, 0x477A3CB1, 0x4E7437BC, 0x55662AAB, 0x5C6821A6,    0x63421085, 0x6A4C1B88, 0x715E069F, 0x78500D92, 0x0F0A64D9, 0x06046FD4,    0x1D1672C3, 0x141879CE, 0x2B3248ED, 0x223C43E0, 0x392E5EF7, 0x302055FA,    0x9AEC01B7, 0x93E20ABA, 0x88F017AD, 0x81FE1CA0, 0xBED42D83, 0xB7DA268E,    0xACC83B99, 0xA5C63094, 0xD29C59DF, 0xDB9252D2, 0xC0804FC5, 0xC98E44C8,    0xF6A475EB, 0xFFAA7EE6, 0xE4B863F1, 0xEDB668FC, 0x0A0CB167, 0x0302BA6A,    0x1810A77D, 0x111EAC70, 0x2E349D53, 0x273A965E, 0x3C288B49, 0x35268044,    0x427CE90F, 0x4B72E202, 0x5060FF15, 0x596EF418, 0x6644C53B, 0x6F4ACE36,    0x7458D321, 0x7D56D82C, 0xA1377A0C, 0xA8397101, 0xB32B6C16, 0xBA25671B,    0x850F5638, 0x8C015D35, 0x97134022, 0x9E1D4B2F, 0xE9472264, 0xE0492969,    0xFB5B347E, 0xF2553F73, 0xCD7F0E50, 0xC471055D, 0xDF63184A, 0xD66D1347,    0x31D7CADC, 0x38D9C1D1, 0x23CBDCC6, 0x2AC5D7CB, 0x15EFE6E8, 0x1CE1EDE5,    0x07F3F0F2, 0x0EFDFBFF, 0x79A792B4, 0x70A999B9, 0x6BBB84AE, 0x62B58FA3,    0x5D9FBE80, 0x5491B58D, 0x4F83A89A, 0x468DA397};static const word Td3[] ={    0x00000000, 0x0E0B0D09, 0x1C161A12, 0x121D171B, 0x382C3424, 0x3627392D,    0x243A2E36, 0x2A31233F, 0x70586848, 0x7E536541, 0x6C4E725A, 0x62457F53,    0x48745C6C, 0x467F5165, 0x5462467E, 0x5A694B77, 0xE0B0D090, 0xEEBBDD99,    0xFCA6CA82, 0xF2ADC78B, 0xD89CE4B4, 0xD697E9BD, 0xC48AFEA6, 0xCA81F3AF,    0x90E8B8D8, 0x9EE3B5D1, 0x8CFEA2CA, 0x82F5AFC3, 0xA8C48CFC, 0xA6CF81F5,    0xB4D296EE, 0xBAD99BE7, 0xDB7BBB3B, 0xD570B632, 0xC76DA129, 0xC966AC20,    0xE3578F1F, 0xED5C8216, 0xFF41950D, 0xF14A9804, 0xAB23D373, 0xA528DE7A,    0xB735C961, 0xB93EC468, 0x930FE757, 0x9D04EA5E, 0x8F19FD45, 0x8112F04C,    0x3BCB6BAB, 0x35C066A2, 0x27DD71B9, 0x29D67CB0, 0x03E75F8F, 0x0DEC5286,    0x1FF1459D, 0x11FA4894, 0x4B9303E3, 0x45980EEA, 0x578519F1, 0x598E14F8,    0x73BF37C7, 0x7DB43ACE, 0x6FA92DD5, 0x61A220DC, 0xADF66D76, 0xA3FD607F,    0xB1E07764, 0xBFEB7A6D, 0x95DA5952, 0x9BD1545B, 0x89CC4340, 0x87C74E49,    0xDDAE053E, 0xD3A50837, 0xC1B81F2C, 0xCFB31225, 0xE582311A, 0xEB893C13,    0xF9942B08, 0xF79F2601, 0x4D46BDE6, 0x434DB0EF, 0x5150A7F4, 0x5F5BAAFD,    0x756A89C2, 0x7B6184CB, 0x697C93D0, 0x67779ED9, 0x3D1ED5AE, 0x3315D8A7,    0x2108CFBC, 0x2F03C2B5, 0x0532E18A, 0x0B39EC83, 0x1924FB98, 0x172FF691,    0x768DD64D, 0x7886DB44, 0x6A9BCC5F, 0x6490C156, 0x4EA1E269, 0x40AAEF60,    0x52B7F87B, 0x5CBCF572, 0x06D5BE05, 0x08DEB30C, 0x1AC3A417, 0x14C8A91E,    0x3EF98A21, 0x30F28728, 0x22EF9033, 0x2CE49D3A, 0x963D06DD, 0x98360BD4,    0x8A2B1CCF, 0x842011C6, 0xAE1132F9, 0xA01A3FF0, 0xB20728EB, 0xBC0C25E2,    0xE6656E95, 0xE86E639C, 0xFA737487, 0xF478798E, 0xDE495AB1, 0xD04257B8,    0xC25F40A3, 0xCC544DAA, 0x41F7DAEC, 0x4FFCD7E5, 0x5DE1C0FE, 0x53EACDF7,    0x79DBEEC8, 0x77D0E3C1, 0x65CDF4DA, 0x6BC6F9D3, 0x31AFB2A4, 0x3FA4BFAD,    0x2DB9A8B6, 0x23B2A5BF, 0x09838680, 0x07888B89, 0x15959C92, 0x1B9E919B,    0xA1470A7C, 0xAF4C0775, 0xBD51106E, 0xB35A1D67, 0x996B3E58, 0x97603351,    0x857D244A, 0x8B762943, 0xD11F6234, 0xDF146F3D, 0xCD097826, 0xC302752F,    0xE9335610, 0xE7385B19, 0xF5254C02, 0xFB2E410B, 0x9A8C61D7, 0x94876CDE,    0x869A7BC5, 0x889176CC, 0xA2A055F3, 0xACAB58FA, 0xBEB64FE1, 0xB0BD42E8,    0xEAD4099F, 0xE4DF0496, 0xF6C2138D, 0xF8C91E84, 0xD2F83DBB, 0xDCF330B2,    0xCEEE27A9, 0xC0E52AA0, 0x7A3CB147, 0x7437BC4E, 0x662AAB55, 0x6821A65C,    0x42108563, 0x4C1B886A, 0x5E069F71, 0x500D9278, 0x0A64D90F, 0x046FD406,    0x1672C31D, 0x1879CE14, 0x3248ED2B, 0x3C43E022, 0x2E5EF739, 0x2055FA30,    0xEC01B79A, 0xE20ABA93, 0xF017AD88, 0xFE1CA081, 0xD42D83BE, 0xDA268EB7,    0xC83B99AC, 0xC63094A5, 0x9C59DFD2, 0x9252D2DB, 0x804FC5C0, 0x8E44C8C9,    0xA475EBF6, 0xAA7EE6FF, 0xB863F1E4, 0xB668FCED, 0x0CB1670A, 0x02BA6A03,    0x10A77D18, 0x1EAC7011, 0x349D532E, 0x3A965E27, 0x288B493C, 0x26804435,    0x7CE90F42, 0x72E2024B, 0x60FF1550, 0x6EF41859, 0x44C53B66, 0x4ACE366F,    0x58D32174, 0x56D82C7D, 0x377A0CA1, 0x397101A8, 0x2B6C16B3, 0x25671BBA,    0x0F563885, 0x015D358C, 0x13402297, 0x1D4B2F9E, 0x472264E9, 0x492969E0,    0x5B347EFB, 0x553F73F2, 0x7F0E50CD, 0x71055DC4, 0x63184ADF, 0x6D1347D6,    0xD7CADC31, 0xD9C1D138, 0xCBDCC623, 0xC5D7CB2A, 0xEFE6E815, 0xE1EDE51C,    0xF3F0F207, 0xFDFBFF0E, 0xA792B479, 0xA999B970, 0xBB84AE6B, 0xB58FA362,    0x9FBE805D, 0x91B58D54, 0x83A89A4F, 0x8DA39746};//将字节转换成字static word Byte2Word(const byte a[4]){    return        (word)(a[0]) | (word)(a[1] << 8) |        (word)(a[2] << 16) | (word)(a[3] << 24);}//将字转换为字节static void Word2Byte(const word w, byte a[4]){    a[0] = (byte)(w);    a[1] = (byte)(w >> 8);    a[2] = (byte)(w >> 16);    a[3] = (byte)(w >> 24);}//对字进行SBox变换static word SubWord(word w){    byte temp[4];    Word2Byte(w, temp);    temp[0] = sbox[temp[0]];    temp[1] = sbox[temp[1]];    temp[2] = sbox[temp[2]];    temp[3] = sbox[temp[3]];    return Byte2Word(temp);}//对字进行逆向SBox变换static word InvSubWord(word w){    byte temp[4];    Word2Byte(w, temp);    temp[0] = invsbox[temp[0]];    temp[1] = invsbox[temp[1]];    temp[2] = invsbox[temp[2]];    temp[3] = invsbox[temp[3]];    return Byte2Word(temp);}//列混淆加上移位static void MixColumns_ShifRows(word w[4]){    int i;    word temp[4];    temp[0] =        Te0[(byte)(w[0])] ^        Te1[(byte)(w[1] >>  8)] ^        Te2[(byte)(w[2] >> 16)] ^        Te3[(byte)(w[3] >> 24)];    temp[1] =        Te0[(byte)(w[1])] ^        Te1[(byte)(w[2] >>  8)] ^        Te2[(byte)(w[3] >> 16)] ^        Te3[(byte)(w[0] >> 24)];    temp[2] =        Te0[(byte)(w[2])] ^        Te1[(byte)(w[3] >>  8)] ^        Te2[(byte)(w[0] >> 16)] ^        Te3[(byte)(w[1] >> 24)];    temp[3] =        Te0[(byte)(w[3])] ^        Te1[(byte)(w[0] >>  8)] ^        Te2[(byte)(w[1] >> 16)] ^        Te3[(byte)(w[2] >> 24)];    for (i = 0; i < 4; i++)        w[i] = temp[i];}//逆向列混淆加上移位static void InvMixColumns_ShiftRows(word w[4]){    int i;    word temp[4];    temp[0] =        Td0[(byte)(w[0])] ^        Td1[(byte)(w[3] >>  8)] ^        Td2[(byte)(w[2] >> 16)] ^        Td3[(byte)(w[1] >> 24)];    temp[1] =        Td0[(byte)(w[1])] ^        Td1[(byte)(w[0] >>  8)] ^        Td2[(byte)(w[3] >> 16)] ^        Td3[(byte)(w[2] >> 24)];    temp[2] =        Td0[(byte)(w[2])] ^        Td1[(byte)(w[1] >>  8)] ^        Td2[(byte)(w[0] >> 16)] ^        Td3[(byte)(w[3] >> 24)];    temp[3] =        Td0[(byte)(w[3])] ^        Td1[(byte)(w[2] >>  8)] ^        Td2[(byte)(w[1] >> 16)] ^        Td3[(byte)(w[0] >> 24)];    for (i = 0; i < 4; i++)        w[i] = temp[i];}//逆向列混淆static void InvMixColumns(word w[4]){    int i;    word temp[4];    temp[0] =        Td0[(byte)(w[0])] ^        Td1[(byte)(w[0] >>  8)] ^        Td2[(byte)(w[0] >> 16)] ^        Td3[(byte)(w[0] >> 24)];    temp[1] =        Td0[(byte)(w[1])] ^        Td1[(byte)(w[1] >>  8)] ^        Td2[(byte)(w[1] >> 16)] ^        Td3[(byte)(w[1] >> 24)];    temp[2] =        Td0[(byte)(w[2])] ^        Td1[(byte)(w[2] >>  8)] ^        Td2[(byte)(w[2] >> 16)] ^        Td3[(byte)(w[2] >> 24)];    temp[3] =        Td0[(byte)(w[3])] ^        Td1[(byte)(w[3] >>  8)] ^        Td2[(byte)(w[3] >> 16)] ^        Td3[(byte)(w[3] >> 24)];    for (i = 0; i < 4; i++)        w[i] = temp[i];}//轮密钥加static void AddRoundKey(word w[4], const word key[4]){    w[0] ^= key[0];    w[1] ^= key[1];    w[2] ^= key[2];    w[3] ^= key[3];}//密钥扩展算法static void KeyExpansion(const byte key[16], word w[44]){    word temp;    int i;    for (i = 0; i < 4; i++) {/*         printf("%d\n", key[i]); */        w[i] = Byte2Word((byte *)&key[4*i]);/*         printf("%08X\n", w[i]); */    }    for (i = 4; i < 44; i++) {        temp = w[i-1];        if (i%4 == 0)            temp = SubWord(ROTWORD(temp)) ^ Rcon[i/4];        w[i] = w[i-4] ^ temp;    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -