逆向案例二十——请求头参数加密,某政府农机购置与应用补贴申请办理服务系统,sm3和sm4的加密

网址:农机购置与应用补贴申请办理服务系统

抓包分析,发现请求头参数有加密,表单有加密,返回的数据也是加密的。

请求头Source是固定的,其他的Sign,以及Timsestamp是加密的

请求载荷也是加密的

返回的数据也是加密的。

而且仔细看,它们都是数字和a到f的字母组成的,就很想哈希算法进行加密。实际上运用的就是sm3和sm4的算法,详情见前面对这些加密算法的讲解。

先解决请求头参数的加密:

直接搜索,一下子就找到加密位置了,打上断点,先分析sign参数

打印参数,继续分析,因此需要找的加密函数就是r和d

进入函数r,打上断点,发现是运用了函数s,而函数s在前面已经提示是sm3加密方法。

因此直接利用专门的库对参数进行加密,发现果然跟浏览器中加密的一致:

 

解决了函数r,那么现在来解决函数d

发现函数d,就是一个sm4加密的,e是函数r返回的带加密的数据,c是密钥

进入l函数,看一下sm4是ECB还是CBC,是否要向量IV,以及填充的方式是什么 

发现l函数是m函数,打断点,进入m函数,仔细看这段代码,告诉我们了关键信息。

直接写代码:

综合分析一下,sign怎么来的,首先表单数据,包括页码,翻页尺寸等等经过处理用&连接,进行sm3加密,然后字母大写,再经过sm4加密,密钥是

30062AFC48C0E7B5B0918851C0445A37,ECB的模式。

同理这样分析,就知道时间戳是对当前时间戳,进行sm4加密,密钥同样是

30062AFC48C0E7B5B0918851C0445A37,加密数据是时间戳。

改进一下我们的代码,定义两个加密函数。

const sm3 = require('sm-crypto-v2').sm3;
const { SM4 } = require('gm-crypto');
const key = '30062AFC48C0E7B5B0918851C0445A37'; // 32位十六进制数字
function sm3_encrypted(data){
  return sm3(data).toLocaleUpperCase()
};
function sm4_encrypted(key,data){
  const encryptedECB = SM4.encrypt(data, key, {
  mode: SM4.constants.ECB,
  inputEncoding: 'utf8',
  outputEncoding: 'hex'
});
  return encryptedECB
};

data = 'pageNum=2&pageSize=15&timestamp=1721116418231&year=2023&key=HD7232D2AAAKA@978D8723H211?IER&6'
console.log(sm3_encrypted(data))
console.log(sm4_encrypted(key,sm3_encrypted(data)))


// sm3加密大写结果:2245692EA39B3979877C2ACCEA6013B238087576142E3660BA128955BCE95B21
// sm4加密结果:9956ba8fd022af606049609d30b85d219e1c3805efac04796110021f99b0b7a4d20345b347552d35f4b74787969b34029378846f70051a9ded17c4ea
// 65a5cd27ba532c7c82c95484140e5a9ffbe7ae48

现在分析表单载荷是怎么加密的?

直接搜索,找到加密位置,打上断点,打印参数确认

就是b['b']函数对表单进行一个加密,进入这个函数去看看。我靠,巧不巧,就是d函数,还记得d函数是什么吗?就是sm4阿!

直接用我们的函数加密一下看看

是不是跟浏览器加密的结果数据一致阿!!!

现在不妨猜一下,返回的数据内容,我们该怎么解密呢?就在parameters下方,告诉了我们,数据是怎么解密的。打上断点,分析:

参数打印一下,进行确认。果然是这里进行了解密!

进入b['a']发现这个u函数解密,是不是很眼熟,在最开始我们分析sm4加密的d函数的时候,是不是出现在加密的下方就是解密的内容?所以这就是sm4进行解密即可!

写一个解密函数

var content='8098e461ec61940b80d75f61f88c584c290c2a5a9d38ceee696287e315483820a575a0df94cad88c862d9d39d2f73254bf5a88f9cb437ddd122ec3f599289ede4a8bf0c65aab0f207164164770b8948ef82721d1335055a72435032464e5267c4434fd96186091717f8f0cdc0fc947c0185f6eedbee89b0a44066152be877512b0e94b6290a0a0c5793356d50b9779ba3f1b63d4eae4925ee740ded661068b33a505becf9c9ae03134aa5af2f420524b4d832330059b7ecad36665bbf08c4135caf28d54e71be5657bcbe368224467036a724fc4c3177bd4ccab6c8646f9d90ee6ced862df60958a3bcf721c1ad8714d43533cceaebda1abaff3b0fb3c874b856d701e9ff8770d996fab79a831fec945180e21953dfcdb370d78b09a7ed5f24ed3bd888641a2889ea2fdc6b66ce28a3634dfe583e9b6163d6df256452b6793f576f9b4bc3842c9b67e034a0c0913f220a13bcf6a60fd12d2d90556db6909de2bee7d2668f2152ae63409308b8c0d829e9b4e970bfd373c44fdcb91315b81b431e716788da3abbf09de81d5d95c02da2786632a291363b89415d62c6985af9ab9137affb1a9502f7fbf33d16fc6b68f2aa03249c1951526343636352daad9d80b436c0cbb2f990e119cc057d72061da18129fc3fe42413bc12282ffb073e815ccb47b4a980d3537dad21a3f3d1aa65febc088a050411b68942cccbaefde61723aaa8693c743db0cd241078766ef052272c0e8a469e477d1fdf1ea3169a578398dacdfcd13577a2126dd86c3fc0b85ff685a67be2623c7dfc54a351738f635f6415424083c7dcb7fbce85b0522b37a31f8048cbafc892b7a02643e6e9da4f24eadaf29b2b1e147c99e9ebe8d150e8b2b63390de467ce7ffcc5d83b80813a276c01b2eb0ff27a8fb4c6506071ad842d9a5d57ffd7377fbcf4116d83eca878e377f97ce3887f94c8a0c28ff2658144f04c8cc43fe4a3a71b5c6f2618a01edfcba191eead9e11d8518e7e2100267410f0c66b095ca13144dabc389616f4e13d82ef0a6a800f9f3e25da1942dce739b349f61b9831ad6200be4e4e73cb397ee69143d2e7329fa06e14fa7b4c4e73cedfb7374e4109c82729b362239b81cd42fe5ae7d536266651442ad863c2cc4b342220ca3ae989d6a4a0b0fa943f9fb59e00cea2025e93a8daa52608b829eb6de5cf0d97d31cd247786cc2d07abae5c021631a851e79cc220159e6d95df09a77882c0902c8bef915cfedc31720639a4f06192d91a74fe3f88a8acd3d71f1e7f908c6d1596a11842ba923b97f86d036953b86137fad8be71af875e88a1ac276f4cd1dbe218b954c8aae1c05cf130755e92a0eec5a515a0af3bd261d712c165f6f36f1181b4b5d8960044f56dc867bcdcd41dce19027692454eae22739eeb5948f55c441676597f0c9f967dacd393bed160ef181249b799162f719f6473f00a047988182660f938c7c0b2e11e082d28a3a46628ea2eba3cc5c2f72cdb8fd6f17dbd67ea03c0bfab00a2a44847f996e3bb820d691892aad87c1462fcf7e3d60b2076c92a4ca80e5ddf469d1f3b89232334b2ef1a6c73bb7cd25ced4987f23268ae955892c1d9f9153d77b3907af7cf6a9d9055fc60c11d5269a1e5c4fb1dd8133c1c7be5b9be8ab4856caa9d66161db511b77510c312e1e252525b861c3dbf036518c1be00c0a66d1737f731ab3a6f5c8ee8f8151ad25a92b570ea6bf139b0ddd259b420839da67fa1d71b061e983b3e975bef1a44bbad6074d87e139cbd11caa874b420264261f9ea23395ba33047fc55294a5396ecf8e06fbf29d5c53dc8df533fc95d21b7958ff9e43f2a30ec80c7decd8159c3c60362d648092c98d380e15ad5bade2fa0b7e28fc8b0bfe9ebf05a3b03f43e6b52a7a7ca7cecaea2383e1e517963bdebf2bbb43817f2b523bebcedb797a1796199c1f6e20238bbe7dd0d20bd4c890dde1d7bd94ec38f4a2a8bb398e866d24cfa7ed5ba784493a94b70fe591749dcbbfb5bfac88afd193d245ec0de97838816883c522d40b2998f7e49ef99027de7b3293fc93628e9973111ca8b5b574783937276c32df25875bbdc751ab8d4aefbd90ba17518034c1a8da2d76c193bf02a70a30fed081d7b5f5cb726a12908809a68d4d8a5e93a8daa52608b829eb6de5cf0d97d31cd247786cc2d07abae5c021631a851ec8b0ef2e29b0328c92dabbe7965728a2b50fb2138b8d78cc0d1fe0c5ba38c319da005a9da3eb46cce941968396abb8b98802f9e47ee90eaa2ecddda03e220b5e2d6c054f932e93536ed8191e43fc7e8a1fa15685199ca99f45783aa08f8bbd9c10b932de9162fc11f3a0bab02b9a13536ce6f9f83b97ddce1428ae185513baac8bb814e7435e49fc5ea87f071095e0af919aac6a22793c7e18108af56e336cca483036e42e11fb61c58e11c634daec2613583a01ee298bd0acec0e78920216d136a597fcdeeea9aa60fa8f01ecec89a14fae9069bf746e220067dcaa7f49241e6875ae902d31cbf6b1cf5fc8622fd92060b063b8ef898f1227401142804b09f1a662b8a2659786f5dbbc42fc19413c1c99f78a8caf12bd044c27e857b0c14f9a8d2fa60792d2f09e3d4cb5454719f299c3dbda047b47743bae7fce6e1678e84a417fa462914a8d5ce383b937aa84ce4ed6d65c661374e04fc6951e969713061a7da9a75b46e41a6dfd49fc1380421ad0d6ecd6579543b6f68ea3d5c2bb4e6466519c5e36126e3000f069e1c664d9224ccd6dec5810965de6033520c23b8d07747b657e7a456e2fb2c971115014af27d131ea8060ec50854073c1bc4a6b7553258b8a02ca474558d9558c66e349057bbc418e2a73a04c9025c98e13f27390938843142fa04d9b8e797557cc920a876433d969bfa45c6691ef6e73c9b8cbbe62d798b7cab9ca2411f485e38172122cd87d0e55f28aad0333bb8c8b4394c4b5bb13c1816f6cd38c8376fc1865bc6956ec7ab78f7a207557d0478225150863fb123fbef42d62e0519c79dc36d25f9bb12d33e34fae69e727ffe7bd9684f150bfa8fec0323e487f414dd6f230513e40b625d0c9ce58df0c7690c19010b4eb42114a2a2f7400ff349ff1205e4ea9746f9ba42442e8f4b4803fe5f98c3e9e59dbe17fc64d832330059b7ecad36665bbf08c41357ea8dcdc1f10fe14247e7fa8c82cf514609dc6fd15cd12945dbdaeb418fb526ae46aff5e382029413e6a93e9ffef2468d0771ca76ff75f5d9c64e16a90094e8c646b431c046c19cac9b406081fa5729480b6647a0f0656108d708038ac9a8eb211ee17015d994f20342a6f30aff90ed69a03b251e078078e11646a16225c0af366cfc2b78e73b882e302648811916633282c8b41557b51b9eb8787cb75b9a0a6d979968f4bfc171fb68c6b50ec8e6f20363858d3dd9c66e88021d5941f21dcd711b5972fb39ddd958cf3c82489928db940e5c79b4ea5d3d4411b47d517d5ec326a4d237b9dc28cedf2c989877dff6158ecbceba6ea4720a77a30d5bd506dc486f9ebd1b3ba8965d3230c2ea300f6ed423915789d80990d5eb5089549c4f9d2f8fc36e09a3bd1730cdb95aa192c5a1b77eaf7dfab49b22678897a96eb37aec6f886d8d303707c1dfde60502b6608a1ee2933bcd7068fd4a9072622c16bb552046720cfce3be9b672c90f254c55900963ccc65fb487f6c05e3c949002adaf34549b3eb449ec5d849cb17f0d650e8234c8d668cf31559e32b5f129cbee960d768c3f345e4f248373ee64c38006b6c3aafe5b8c177f383196285345e224d96328e1729e1f48bd816bd672e7fc9bf1881da8853b3d46f3d5ebcfc03f8a88af864ac5f5bd088c4b281e0f77d554e9ebf22d73a47fd7088de29611750b7815a837275a8486104513c0f811c134910f3533f0891d8d4a19ca436e541c8c83d0316206f75666aa2e8a8c4f7b9e9657bb45681116ae37edc71864cea75dadad4e1869d38209959cdd049a41b733718b7d0ab78498d12af54c88555281f76200b40282566eac4964ddb4bae19af67194c480c7a0a5ce093409584fddb682537c4f0acd907b20704ec0db5af9a2404d0f9a66aff5ac0abe22902d4d15f8433ac361a3cc4803363361b18db917381b5e05173cd253d0694b1c85244ee803261e67f96bb210dd69395ef0a8028f0fe0a63615d72100d32824d8e9bf266b9b442db5d10727f6544a3c313dcab10c6b0d843a3fa09d0258979ef7d188b31c6ae5293bc872b674ace6b073c8d7587f8cab6f002fee48051f03dbe6887effcd9c83bac9fe4d5c84026692454eae22739eeb5948f55c441676597f0c9f967dacd393bed160ef181249b799162f719f6473f00a047988182660f938c7c0b2e11e082d28a3a46628ea2eba3cc5c2f72cdb8fd6f17dbd67ea03c0b03494c37709c97ff58ae1b5845010f199ae45dc455fdcac75f307aea581e5e4fbc7819b2f5d0fe05d109b26f26b194168766b57b3b3ad285000d1d13ceab01c7f943633f6f83b8ae8a7cb5026ccd77b99212ad5a9550ec73eefe4a0be226c10921994fe65d62d1b268a65c6cc257e92bc39282e9991f1a94ceb6a7e122fd09dd1eb4aa4a113bc3f8d1bdd35f9734558a4e2dce088537c60915c58de07aaec6589d217c0bbd8f76dc1e200d7d0e60dceec72e285c651c10e588bd6708f53b62fab31ce2d2a056024d4c695c07ad280d2a0257d10e651a247eb91cfd1642f62be850022d359c714d3b5d2fbb7ca077f3318b282b559079761de9171f2d8d9bddad5995fb2fb94f4a2f7d81ea32c3a31d81290c2a5a9d38ceee696287e315483820a575a0df94cad88c862d9d39d2f73254bf5a88f9cb437ddd122ec3f599289ede4a8bf0c65aab0f207164164770b8948e16ccd8849b428b2acf297d0989b5883cbc40bbd030bc656a553253d677aea3fe185f6eedbee89b0a44066152be877512b0e94b6290a0a0c5793356d50b9779ba3f1b63d4eae4925ee740ded661068b33a505becf9c9ae03134aa5af2f420524b4d832330059b7ecad36665bbf08c4135caf28d54e71be5657bcbe368224467036a724fc4c3177bd4ccab6c8646f9d90ee6ced862df60958a3bcf721c1ad8714d43533cceaebda1abaff3b0fb3c874b856d701e9ff8770d996fab79a831fec945180e21953dfcdb370d78b09a7ed5f24ed3bd888641a2889ea2fdc6b66ce28a36fdaa0e34f6bdc291de77549bed9356cef8822942f0fd2968f27eadee8b6557a8a13bcf6a60fd12d2d90556db6909de2bee7d2668f2152ae63409308b8c0d829e9b4e970bfd373c44fdcb91315b81b431e716788da3abbf09de81d5d95c02da2786632a291363b89415d62c6985af9ab9137affb1a9502f7fbf33d16fc6b68f2aa03249c1951526343636352daad9d80b524af5f26a38632dba517040bf0196f1129fc3fe42413bc12282ffb073e815ccb47b4a980d3537dad21a3f3d1aa65febc088a050411b68942cccbaefde61723aaa8693c743db0cd241078766ef052272c0e8a469e477d1fdf1ea3169a578398dacdfcd13577a2126dd86c3fc0b85ff685a67be2623c7dfc54a351738f635f6415424083c7dcb7fbce85b0522b37a31f8048cbafc892b7a02643e6e9da4f24eadaf29b2b1e147c99e9ebe8d150e8b2b63390de467ce7ffcc5d83b80813a276c01b2eb0ff27a8fb4c6506071ad842d9a5d57ffd7377fbcf4116d83eca878e377f947eaeb4813d34672c73020cf11a24dc9748ac42fb0a83c93f23420883eb5bec865174296ee8cc46b9130873e633feab5b78f7a207557d0478225150863fb123fbebc1e59ec76a1f8fc014a3d299d596cf534066167b21659566b0c2d93e042b02da5698bf50fd409261bf44d61db0c842e9ceb1e5143d4e5c2304cb2987c5d2a2f7400ff349ff1205e4ea9746f9ba42442e8f4b4803fe5f98c3e9e59dbe17fc64d832330059b7ecad36665bbf08c41351c79e5c3a6ca23de253087005b5242db7340da844cffc8eb1bbb68725770d35f75b4b2931cea47a9ed4bb8aef6bc406d47e4732e15d39218e018c4b093c031dd50cc6ea52792acb9f4f0e86c00a2072326cddce71a8f002cba203ec58650e200121968c7dd95874c3b274600093e1564a27bf0a6844109b73afa8b0323ffd677eb31da3418270a65711a3ce6b32ef8d6c9de5923b1711af3e4364568280f61252f7cc854f723f120e92076786a0056adfcfd9b66ecf158a83322fd3144718db856c4271afd07a76763b8c957578543995336bccf321cba802205f5821b9116809ea912d9120799ee9669c604cdfd940969f30a3c19b4cc2607425e0e5b122997a35782d37af413b5e97759589f07885bf6e60cf67adbc5754be73cb2d91d5594eec2467cdc72e54e06a0605a7044e4ea62653130ecfc44c464f311868a7844bb13b794e6a45093009154eeab575c3f8c95a1c0ff606f27b68858bce03647d777dfe6a4c72ad1be2fd91cdf56cd2520003e118c66759712395d068302d2c37eddb358dfeeb84ef15ffecfedd677517ba4efeae814dec2781da33982065d5e2476a88b1851390380187ac82aae9968b9b4aa19d23b83a2085eb5a59f12abd4cedf818c9850ee1d471b26da6180ae77574fbb43817f2b523bebcedb797a1796199c694bb3787650f7c440933d2fd07cf75fd2c052f821da72ac71df66ae0836c4cbf0044dcd3df59dc0b225b3dbf19bcbfc4a8bf0c65aab0f207164164770b8948e7b71d5b363461f1a792440530de03288e67ddf2823fd57a5461c69de25fb5c6d52116e7cdfebc4e7acfd125bc4a7a408f39b1841b411816167527c48c9636d5c5ff292fd682d734bb18483a8655c3faabf21bad3b11983504de8d84a5d7b19ce6dd6fd55a25a828aa3f557006121d75f3b957e04210bd9c238859f27119a474056683976ba7c471a7e1fcfe7607c42222942350719833fd2b5c2561e82ad3b848796c8230dd01e375ac1a52ecdb54777f4bc75009dc96a76643b2b71e84270afdfed802eb5fb4d17e4b9c37fdfa1f7d771e8cb8432a473bbcde81e9c73fb9bf970aeaa098e45868df9c98d9fce454bae9cec3320d67c5447252a327d7a8705718381a574b9ae8b6c2a2f86a327fafed856a5a215de5d258a456a635a7ed59bbde4060402610ee340b321f64a1262d04a1c5c95122eb5b38a78cd194dce36a7de1da8394701ae33f82333c789f3232ccf473dc923efe57835078bdfda8d9ce449dc54510ded0357a47ff4acb739e4a44833d459c197af11d7cdc620783f805a461fb4b616ed7bb2dc712c23688af1e4d565f36e1ba30da63a8e5b3393df36dc781172630a6a3b5796ef229f45e13fa92adcab5beac9075883ed82f8f0dc8a6ab1a4f2118d3c4f62620b425787e73546acfc9b04db98e6633e51beb54814020c86701033ca49ae4f17db5c7316b81f6869a60d05c867c47951c359810f92db40067f0859f60a38de0df6736ab41b1bb652f94018757d521727f46f2cef9f0d62183fa6bc89d6cdaa9dfdcc00c64ee7d91c104e7bd8b771ef01b6b81fdb6bee4be51fb24dcfe042cd2357ab47d9e989fe8f0373d33b38ef6ecf57a7b45a68a5445be94295934943c1968b1df82578a5dccfc1816f6cd38c8376fc1865bc6956ec7ab78f7a207557d0478225150863fb123fff5bd444e5e8968d061a6b0578fa9ed492b381cf8f5ffb61b24c00d64cc1a9b92da5698bf50fd409261bf44d61db0c848a72d07745ab8a584a090a95d38ef43c2c0d84178ba15fc957f82f24ef7527cf46b028b2aa6c742e67d1f7eb3828f8675d57c83097ae68553e9317faba91089822594a3be1209edd37483fd5e374b07630086343032f54001b89b34d0f734a1e1226bf2e0fc9742ef21fe8ad92f9dc4b7be67740c178d897a94390f2ef783a82fc3ed7ea20176226b2a386a820d7b1a5ccac300bb013692b7a54b2b0ae396dac121968c7dd95874c3b274600093e1564ac38fa53f80f4ecf7f12dfcef347834ca81d0b58ec5d2a28c364722ac022161613583a01ee298bd0acec0e78920216d136a597fcdeeea9aa60fa8f01ecec89a14fae9069bf746e220067dcaa7f49241e6875ae902d31cbf6b1cf5fc8622fd9204b23e8bfc456b8f8a6d19d1e2e46709ca662b8a2659786f5dbbc42fc19413c1cfc000d4a6626a5091310292b53592db38d2fa60792d2f09e3d4cb5454719f299c3dbda047b47743bae7fce6e1678e84a417fa462914a8d5ce383b937aa84ce4ed6d65c661374e04fc6951e969713061a7da9a75b46e41a6dfd49fc1380421ad0d6ecd6579543b6f68ea3d5c2bb4e6466b64b45358c952c19526ad1f9d718fbdfcd6dec5810965de6033520c23b8d07747b657e7a456e2fb2c971115014af27d131ea8060ec50854073c1bc4a6b7553258c0376f1697bd0e3d7e83efef6e6253023cb17bab81fd1fef57913a37381291faf1b060c2868ca6ffe9b2359ad8ed1683c51d5c0a8a6befaadd3a6b6c35dc2fcb506fad4c9a3f7611059fd57d4ec1bac0e03204aefb62905496e9385c928388065174296ee8cc46b9130873e633feab5b78f7a207557d0478225150863fb123fcec2453970026cac4c66d9100b37469ea53cf7a24bf3409787354a385b1ff7f92da5698bf50fd409261bf44d61db0c84825517a77f100c689aafcbab283b4d8f2f7400ff349ff1205e4ea9746f9ba42442e8f4b4803fe5f98c3e9e59dbe17fc64d832330059b7ecad36665bbf08c413598871c7131222d07138258ac51b7a89cc79d0065854be261d90d006477a7330300a0c6c19997d53cb9229e3b3e67adb63cc1059d83f19e62b0a95e951befc777682f0a01f7ca32e1a6e5ee5a395779e8fa2c6fe477b745db67e08fb6ba991b3797eb8d6ea46bd97c0ff128b455f9e6b1c88560cb6c5b84681e2ed801a3952ea215a21fe22f6b38260f5d75b1b6a00235b7e705158bcaf914c4a0bc73af4549a23fa8fba5a475512efbc7ae95d2fe426eec8d35e9cbb26171499605441870bc5c38f600e3334f546df0f3c07d38061f4b625503dd82bc79b90b67bf5a01ac3b44473dc923efe57835078bdfda8d9ce4493e7d218defc6ee7eb17add37daba3c0133d459c197af11d7cdc620783f805a461fb4b616ed7bb2dc712c23688af1e4d565f36e1ba30da63a8e5b3393df36dc781f1ea07c88ec8464570550e165e78b9db8cc170ce33c23db158cd062394bde5fc906c45503e053762fc0ff307cd158bdfacf7bd28fff3bb30bbd270ccc4f1dbf8a06835aba465498c454f70d398ef95f64e0ca889d4d2cfc3a9bfbff6898403ecd22656d9e15c742c28d82aef8c2197f0596c9020bc1de54decbe1e552f9014f203ea2598bbcca16d0bab57b48299909544940d47e690bcf09bc5cec1abab307b9cc6b1430e5b4c7d4adae43b2f27485da3d5cc987b4b85876de0e2e4b23fdefa89421ff248f1601e5793b664be6a5f09a0e2767e9b704c98ff0b52df6c44e9075f7e5d70b6c66dc6f973f8ea5c053d2543ae068c65802f725aa70b32c26fa04488f72d3fb8b7e271afff0b2f2ee9ab5fba149515a15300524f9abf53399cea21ad802d4af7a7c22b095a6119e19109f09cb34ec90c4f7f082c9a69c3aa57b4ef86ab5dced27a10da300a5543ba5026638f36d2afbc0986b0fcc53742be4695f0ebe89f10dd06ee6922bb3d7f740d1aa12ed97766bc34d242c7a26e5e4949f39301ed3e3ba7f538da3ce2670e98a0734a8a13650702d19aaa8b057c08223b11c9e9ad0776e29ca4226ef354e809b3c6fda005a9da3eb46cce941968396abb8b98802f9e47ee90eaa2ecddda03e220b5e2d6c054f932e93536ed8191e43fc7e8a1fa15685199ca99f45783aa08f8bbd9c10b932de9162fc11f3a0bab02b9a13536ce6f9f83b97ddce1428ae185513baac954ef1ed9038b35ea84d48acc6b0b5e6ab8dd025bd2b89445ae2e05a1cfa28fff123471e5687f5db627085fd3355ec2b411fb0dc00d80f9c83f39c6daed752e96112ba0dcce535b9c5c6b97e2c81045f7b883de99a1a1ca7a5707a559fa7ff235264ec4fa69f5ddd132adcd71d4a57a47db2813277250d6036ab8cba5c7d48c86082eb610bf37400f18364a1ffe9307f209c657457eb97375bbbeab375c6cd402ec3b61d10171483630dc1a1452a6dcf3fb6877ce474eb08667a9e3c5fc890b34dd20389eb4788699f33e2300b26f3ef5363c5773e93a5c3569363b139f4d0b5d58b95be4254ff0e49c60875646b712e94a48881d78a441715e217726e68a92faea82ea6300477c36e9c9cb6c410308fc4db94be82f182eade97707b2f3237efa7ee743b0c6aa3df3521462f2e7426a348424d5b04a40e8bb364deb7548a10d486db50a742647d84987ec5f6b53805ce42b6d8e923903b1a5da714c5c14121a74e72ebbcad2a27378a9066c1cbe0321a4ac07618c6fbbb35ff6ef42d216a468825ac06324c16e4b7cc8158164c6d940a57ffd7377fbcf4116d83eca878e377f9364d387a4cd794c4a64ba0b06ece241718648d66adcc032540a66784b74b48fb65174296ee8cc46b9130873e633feab5b78f7a207557d0478225150863fb123feb87f12f7713dfb90d3122eb1306f2ef96f8ac7f2e05cdacaa0198946e5e11e52da5698bf50fd409261bf44d61db0c84825517a77f100c689aafcbab283b4d8f2f7400ff349ff1205e4ea9746f9ba42442e8f4b4803fe5f98c3e9e59dbe17fc64d832330059b7ecad36665bbf08c41357ea8dcdc1f10fe14247e7fa8c82cf5147340da844cffc8eb1bbb68725770d35ffba5becd261c40c92e9a75d68812ef41be0e5d45cefee3dacfc00ad544b504acc4859d259d09021de9b16c02469c63a080fc70947ade4062b9a2d5726d3c94b6e6afdd96863afed266344b2a2b1bcf01c6f2a6a385baa3d8bd28cade28ec5e56ee6ad953e926e755c0c182854ac5dcd4f3e2db460775589906376833ff7ec30e9fa6a54f10518b96f80fa6f8e90e3d71ec8d35e9cbb26171499605441870bc5c38f600e3334f546df0f3c07d38061f4b7f6b79d0efed12273c9712bf2c0889ecad87c1462fcf7e3d60b2076c92a4ca80bd567f4871f061cefc2c4fb9eeb61c70b7cd25ced4987f23268ae955892c1d9f9153d77b3907af7cf6a9d9055fc60c11d5269a1e5c4fb1dd8133c1c7be5b9be8ab4856caa9d66161db511b77510c312e60ad2f899989dd17c1ccb767e830677f66d1737f731ab3a6f5c8ee8f8151ad25e67d3ed202400b2ad39b3fc1b402bc0f67fa1d71b061e983b3e975bef1a44bbad6074d87e139cbd11caa874b420264261f9ea23395ba33047fc55294a5396ecf8e06fbf29d5c53dc8df533fc95d21b7958ff9e43f2a30ec80c7decd8159c3c6003ed4d9fb48cf4417660e478ddf4d5865230dd5f56efb6512fc4715a6fcbf9231fe78210f3fe17172903a692cdc0eabd3c51d5c0a8a6befaadd3a6b6c35dc2fc1697b9e7b65416d98854e8b3ced074c0f1e82a8beb9ed728247fb8de3a27885065174296ee8cc46b9130873e633feab5b78f7a207557d0478225150863fb123fbebc1e59ec76a1f8fc014a3d299d596ccec83f4fd3e7dace5a2b94dc485a9a6a2da5698bf50fd409261bf44d61db0c848a72d07745ab8a584a090a95d38ef43c2c0d84178ba15fc957f82f24ef7527cf46b028b2aa6c742e67d1f7eb3828f8675d57c83097ae68553e9317faba910898f6987f3e48d428e9b7135986ead349d730086343032f54001b89b34d0f734a1e9bb2ba496fd5fcd074841358663ad3c0a5636a0862a63554fa4c6c827693505977f7e9ebbc609b240573edcdaaf91f6eb84fdf0baef6fbc82e3fde57edab4f3fff53d9ded15f56cdac5e8e824eaf0db8e096bedf958671008f7f54119c983be3483036e42e11fb61c58e11c634daec2613583a01ee298bd0acec0e78920216d136a597fcdeeea9aa60fa8f01ecec89a14fae9069bf746e220067dcaa7f49241e6875ae902d31cbf6b1cf5fc8622fd920efb039bf9c264ae7a70cf2dfbd3bdb8aad87c1462fcf7e3d60b2076c92a4ca80688bfb93d284b2f49b855d12103c63c6b7cd25ced4987f23268ae955892c1d9f9153d77b3907af7cf6a9d9055fc60c11d5269a1e5c4fb1dd8133c1c7be5b9be8ab4856caa9d66161db511b77510c312e1e252525b861c3dbf036518c1be00c0a66d1737f731ab3a6f5c8ee8f8151ad2575b95a48c064775294a2e22321b95a545b5121f688104a266c7e2262ebfbae57f5f0df7e6a027a645ee5ced2b907a6b782f262b74c00cd007f385302e55e3c3cd0e15449207a8b372cf86f9ab8ceb7d0f93e84097bde479b43b7c8fb1c622d1b104e7bd8b771ef01b6b81fdb6bee4be5da4a776feb7f4e030f18806f499197f704eb920cf8439f9a67c6b4fd5e4e271fd0431d17ee5954067a97e7a813b5fd5a07f1d0689e84904e0cfeb1c9955483643d394d888b778988b63f9196717aca4cec6ab59ac4da7291a4f6e73090d3684ded08d89f1cc9ffab5aac2151e6e9f50ef64d22a784d58a30c704340f5d863d68bc5e16c8174905493faa5c3869e97e912824f03d454e3403ee9d74dd3d7661bfdd9ed06d235f8c201109561077c7bf2c3f1b63d4eae4925ee740ded661068b33d2313806fcaeb35d04a9c85b557b6327a031ab700b6a7e376cb8161488444b672f15ee3351efe29277befd50fc445e13672672428a97b210e1762e482462b84db170dcd8138b41065cb14d62aed7a15317cbd0ce8b3ea06b8987d98e9f502b11915389c9fa55d72610be0b61bbe78518cd12a07cfb5fa7aec25c1a81ed7cd8fcda312517fc47ae9377e4311f5cfb4c2a8f4ae7de6b2ad17132b25d1c775ee148a280c23c23cf86de2b6531a9050cc1a69cec3320d67c5447252a327d7a8705711935125b9c464d7710a194b165da50ae2ec5d40c7263bca8ad0bd5e845e4f154d31e78c644d64a10d6829b42aca2891a0c10b0f3e17d0302d9e28569c82e459c0473e2a8d7b077de30c9ddeb50ad8ead6e801f47ccfbb3663406582c1bf2acf4698c7e6e447aa265b43441b5896f266e6fc625ce7aef742cfa7318b2330c6c377502b23f79e723792855d6a987a7d2ca37d9cf173ef3e02164d8612372b1bc38a9ea1087aa285008faa33aaf67a4c42bccb7d65d4ee349127e805a363843e951b813a9767993ca977bd2133118e270ff94a48881d78a441715e217726e68a92f79df7baf1c229dc0761439a8dfb6ff97c4db94be82f182eade97707b2f3237efa7ee743b0c6aa3df3521462f2e7426a348424d5b04a40e8bb364deb7548a10d486db50a742647d84987ec5f6b53805ce42b6d8e923903b1a5da714c5c14121a7f64fafa7924c64689feb22f02adee744d12f2e2597d49c3ba657bd8af3adbe2cdd0ff72167d040d8bb9a449cfb2190a5346a8793b05deece5a72b1b55fca897486f28567e3fdfbf381a566c93776323887f90b2584706e9e6b7e51dc39fa09401fc5d36f329160be01b4d1e1d348eed74d4f8adfbe06611595a724936e1b3f5a4a8bf0c65aab0f207164164770b8948e400288c9f6115abafea4945c9d4f27b85188eb05a52709bcab0d288be439b08c2b8d6383397ddbbbcfa83329620417d54ed6d47aabdc8d88687919457736e2f415caa49b3d43b16e3e6037c592f3e0d2e9485e90547f3590e498d1b5264593331843320dc8b0bb98092757054728afadfae1e3911eeef0a838757b1e26a7592a2688374bf102c56cd13d26338f8043b40002bc468a87c8d5a876a609866a527189d123c94371f622e6edf2c172bf88835eb474699da66790fd1988b8329fdbc479d805ac377887376118c788407dc94284425822a843ba85b2d4dc279a63dcc4cf56bc20174a8aa6f80701c65e8faa70b0b31c66c18a70114c943ad598af121c3cd3955cedfbdf058bdfa17eaf732e0f92e3e89cae27f88d77ea203b73e6cf92fcfd9b66ecf158a83322fd3144718db856c4271afd07a76763b8c95757854399f480f209d065d4ded0a0194b6ade4db34aded2e5f2e0fb1ff9e14ec814af15900d28db49cfc91ffb9da84bda314aec5e536f7ad8a70d5b237955e93cdb13323c3915789d80990d5eb5089549c4f9d2f8fc36e09a3bd1730cdb95aa192c5a1b77eaf7dfab49b22678897a96eb37aec6f8d63f96b789d74e523288c018e24f68547c35180d12a9ecb61e0bfd83787e425b94a48881d78a441715e217726e68a92ff0376c5cf1763c644c35d3c737e5cca0ddd360fcb729ceda3cde2b1b9fe1141755cc00552c06960c6205d2fa7e309f1aeba00c5484aebe2a52330998732587107562e70dccd33e94facb1d869433462167678f8539a81a81ecf0261e69af93f48b282b559079761de9171f2d8d9bddad05e374c37652a12e273aada23c2abfa8'

function sm4_decrypted(key,content){
  const decryptedECB = SM4.decrypt(content, key, {
  mode: SM4.constants.ECB,
  inputEncoding: 'hex',
  outputEncoding: 'utf8'
});
  return JSON.parse(decryptedECB)
}
console.log(sm4_decrypted(key,content))

结果为,成功解密啦:

所有的代码:

const sm3 = require('sm-crypto-v2').sm3;
const { SM4 } = require('gm-crypto');
const key = '30062AFC48C0E7B5B0918851C0445A37'; // 32位十六进制数字
function sm3_encrypted(data){
  return sm3(data).toLocaleUpperCase()
};
function sm4_encrypted(key,data){
  const encryptedECB = SM4.encrypt(data, key, {
  mode: SM4.constants.ECB,
  inputEncoding: 'utf8',
  outputEncoding: 'hex'
});
  return encryptedECB
};

data = 'pageNum=2&pageSize=15&timestamp=1721116418231&year=2023&key=HD7232D2AAAKA@978D8723H211?IER&6'
console.log(sm3_encrypted(data))
console.log(sm4_encrypted(key,sm3_encrypted(data)))

var params = '{"year":2023,"buyerName":"","code":"","areaCode":"","status":"","distributor":"","enterpriseId":"","factoryNumber":"","purchaseDateStart":"","purchaseDateEnd":"","pageNum":3,"pageSize":15}'
console.log('表单sm4加密:',sm4_encrypted(key,params))

var content='8098e461ec61940b80d75f61f88c584c290c2a5a9d38ceee696287e315483820a575a0df94cad88c862d9d39d2f73254bf5a88f9cb437ddd122ec3f599289ede4a8bf0c65aab0f207164164770b8948ef82721d1335055a72435032464e5267c4434fd96186091717f8f0cdc0fc947c0185f6eedbee89b0a44066152be877512b0e94b6290a0a0c5793356d50b9779ba3f1b63d4eae4925ee740ded661068b33a505becf9c9ae03134aa5af2f420524b4d832330059b7ecad36665bbf08c4135caf28d54e71be5657bcbe368224467036a724fc4c3177bd4ccab6c8646f9d90ee6ced862df60958a3bcf721c1ad8714d43533cceaebda1abaff3b0fb3c874b856d701e9ff8770d996fab79a831fec945180e21953dfcdb370d78b09a7ed5f24ed3bd888641a2889ea2fdc6b66ce28a3634dfe583e9b6163d6df256452b6793f576f9b4bc3842c9b67e034a0c0913f220a13bcf6a60fd12d2d90556db6909de2bee7d2668f2152ae63409308b8c0d829e9b4e970bfd373c44fdcb91315b81b431e716788da3abbf09de81d5d95c02da2786632a291363b89415d62c6985af9ab9137affb1a9502f7fbf33d16fc6b68f2aa03249c1951526343636352daad9d80b436c0cbb2f990e119cc057d72061da18129fc3fe42413bc12282ffb073e815ccb47b4a980d3537dad21a3f3d1aa65febc088a050411b68942cccbaefde61723aaa8693c743db0cd241078766ef052272c0e8a469e477d1fdf1ea3169a578398dacdfcd13577a2126dd86c3fc0b85ff685a67be2623c7dfc54a351738f635f6415424083c7dcb7fbce85b0522b37a31f8048cbafc892b7a02643e6e9da4f24eadaf29b2b1e147c99e9ebe8d150e8b2b63390de467ce7ffcc5d83b80813a276c01b2eb0ff27a8fb4c6506071ad842d9a5d57ffd7377fbcf4116d83eca878e377f97ce3887f94c8a0c28ff2658144f04c8cc43fe4a3a71b5c6f2618a01edfcba191eead9e11d8518e7e2100267410f0c66b095ca13144dabc389616f4e13d82ef0a6a800f9f3e25da1942dce739b349f61b9831ad6200be4e4e73cb397ee69143d2e7329fa06e14fa7b4c4e73cedfb7374e4109c82729b362239b81cd42fe5ae7d536266651442ad863c2cc4b342220ca3ae989d6a4a0b0fa943f9fb59e00cea2025e93a8daa52608b829eb6de5cf0d97d31cd247786cc2d07abae5c021631a851e79cc220159e6d95df09a77882c0902c8bef915cfedc31720639a4f06192d91a74fe3f88a8acd3d71f1e7f908c6d1596a11842ba923b97f86d036953b86137fad8be71af875e88a1ac276f4cd1dbe218b954c8aae1c05cf130755e92a0eec5a515a0af3bd261d712c165f6f36f1181b4b5d8960044f56dc867bcdcd41dce19027692454eae22739eeb5948f55c441676597f0c9f967dacd393bed160ef181249b799162f719f6473f00a047988182660f938c7c0b2e11e082d28a3a46628ea2eba3cc5c2f72cdb8fd6f17dbd67ea03c0bfab00a2a44847f996e3bb820d691892aad87c1462fcf7e3d60b2076c92a4ca80e5ddf469d1f3b89232334b2ef1a6c73bb7cd25ced4987f23268ae955892c1d9f9153d77b3907af7cf6a9d9055fc60c11d5269a1e5c4fb1dd8133c1c7be5b9be8ab4856caa9d66161db511b77510c312e1e252525b861c3dbf036518c1be00c0a66d1737f731ab3a6f5c8ee8f8151ad25a92b570ea6bf139b0ddd259b420839da67fa1d71b061e983b3e975bef1a44bbad6074d87e139cbd11caa874b420264261f9ea23395ba33047fc55294a5396ecf8e06fbf29d5c53dc8df533fc95d21b7958ff9e43f2a30ec80c7decd8159c3c60362d648092c98d380e15ad5bade2fa0b7e28fc8b0bfe9ebf05a3b03f43e6b52a7a7ca7cecaea2383e1e517963bdebf2bbb43817f2b523bebcedb797a1796199c1f6e20238bbe7dd0d20bd4c890dde1d7bd94ec38f4a2a8bb398e866d24cfa7ed5ba784493a94b70fe591749dcbbfb5bfac88afd193d245ec0de97838816883c522d40b2998f7e49ef99027de7b3293fc93628e9973111ca8b5b574783937276c32df25875bbdc751ab8d4aefbd90ba17518034c1a8da2d76c193bf02a70a30fed081d7b5f5cb726a12908809a68d4d8a5e93a8daa52608b829eb6de5cf0d97d31cd247786cc2d07abae5c021631a851ec8b0ef2e29b0328c92dabbe7965728a2b50fb2138b8d78cc0d1fe0c5ba38c319da005a9da3eb46cce941968396abb8b98802f9e47ee90eaa2ecddda03e220b5e2d6c054f932e93536ed8191e43fc7e8a1fa15685199ca99f45783aa08f8bbd9c10b932de9162fc11f3a0bab02b9a13536ce6f9f83b97ddce1428ae185513baac8bb814e7435e49fc5ea87f071095e0af919aac6a22793c7e18108af56e336cca483036e42e11fb61c58e11c634daec2613583a01ee298bd0acec0e78920216d136a597fcdeeea9aa60fa8f01ecec89a14fae9069bf746e220067dcaa7f49241e6875ae902d31cbf6b1cf5fc8622fd92060b063b8ef898f1227401142804b09f1a662b8a2659786f5dbbc42fc19413c1c99f78a8caf12bd044c27e857b0c14f9a8d2fa60792d2f09e3d4cb5454719f299c3dbda047b47743bae7fce6e1678e84a417fa462914a8d5ce383b937aa84ce4ed6d65c661374e04fc6951e969713061a7da9a75b46e41a6dfd49fc1380421ad0d6ecd6579543b6f68ea3d5c2bb4e6466519c5e36126e3000f069e1c664d9224ccd6dec5810965de6033520c23b8d07747b657e7a456e2fb2c971115014af27d131ea8060ec50854073c1bc4a6b7553258b8a02ca474558d9558c66e349057bbc418e2a73a04c9025c98e13f27390938843142fa04d9b8e797557cc920a876433d969bfa45c6691ef6e73c9b8cbbe62d798b7cab9ca2411f485e38172122cd87d0e55f28aad0333bb8c8b4394c4b5bb13c1816f6cd38c8376fc1865bc6956ec7ab78f7a207557d0478225150863fb123fbef42d62e0519c79dc36d25f9bb12d33e34fae69e727ffe7bd9684f150bfa8fec0323e487f414dd6f230513e40b625d0c9ce58df0c7690c19010b4eb42114a2a2f7400ff349ff1205e4ea9746f9ba42442e8f4b4803fe5f98c3e9e59dbe17fc64d832330059b7ecad36665bbf08c41357ea8dcdc1f10fe14247e7fa8c82cf514609dc6fd15cd12945dbdaeb418fb526ae46aff5e382029413e6a93e9ffef2468d0771ca76ff75f5d9c64e16a90094e8c646b431c046c19cac9b406081fa5729480b6647a0f0656108d708038ac9a8eb211ee17015d994f20342a6f30aff90ed69a03b251e078078e11646a16225c0af366cfc2b78e73b882e302648811916633282c8b41557b51b9eb8787cb75b9a0a6d979968f4bfc171fb68c6b50ec8e6f20363858d3dd9c66e88021d5941f21dcd711b5972fb39ddd958cf3c82489928db940e5c79b4ea5d3d4411b47d517d5ec326a4d237b9dc28cedf2c989877dff6158ecbceba6ea4720a77a30d5bd506dc486f9ebd1b3ba8965d3230c2ea300f6ed423915789d80990d5eb5089549c4f9d2f8fc36e09a3bd1730cdb95aa192c5a1b77eaf7dfab49b22678897a96eb37aec6f886d8d303707c1dfde60502b6608a1ee2933bcd7068fd4a9072622c16bb552046720cfce3be9b672c90f254c55900963ccc65fb487f6c05e3c949002adaf34549b3eb449ec5d849cb17f0d650e8234c8d668cf31559e32b5f129cbee960d768c3f345e4f248373ee64c38006b6c3aafe5b8c177f383196285345e224d96328e1729e1f48bd816bd672e7fc9bf1881da8853b3d46f3d5ebcfc03f8a88af864ac5f5bd088c4b281e0f77d554e9ebf22d73a47fd7088de29611750b7815a837275a8486104513c0f811c134910f3533f0891d8d4a19ca436e541c8c83d0316206f75666aa2e8a8c4f7b9e9657bb45681116ae37edc71864cea75dadad4e1869d38209959cdd049a41b733718b7d0ab78498d12af54c88555281f76200b40282566eac4964ddb4bae19af67194c480c7a0a5ce093409584fddb682537c4f0acd907b20704ec0db5af9a2404d0f9a66aff5ac0abe22902d4d15f8433ac361a3cc4803363361b18db917381b5e05173cd253d0694b1c85244ee803261e67f96bb210dd69395ef0a8028f0fe0a63615d72100d32824d8e9bf266b9b442db5d10727f6544a3c313dcab10c6b0d843a3fa09d0258979ef7d188b31c6ae5293bc872b674ace6b073c8d7587f8cab6f002fee48051f03dbe6887effcd9c83bac9fe4d5c84026692454eae22739eeb5948f55c441676597f0c9f967dacd393bed160ef181249b799162f719f6473f00a047988182660f938c7c0b2e11e082d28a3a46628ea2eba3cc5c2f72cdb8fd6f17dbd67ea03c0b03494c37709c97ff58ae1b5845010f199ae45dc455fdcac75f307aea581e5e4fbc7819b2f5d0fe05d109b26f26b194168766b57b3b3ad285000d1d13ceab01c7f943633f6f83b8ae8a7cb5026ccd77b99212ad5a9550ec73eefe4a0be226c10921994fe65d62d1b268a65c6cc257e92bc39282e9991f1a94ceb6a7e122fd09dd1eb4aa4a113bc3f8d1bdd35f9734558a4e2dce088537c60915c58de07aaec6589d217c0bbd8f76dc1e200d7d0e60dceec72e285c651c10e588bd6708f53b62fab31ce2d2a056024d4c695c07ad280d2a0257d10e651a247eb91cfd1642f62be850022d359c714d3b5d2fbb7ca077f3318b282b559079761de9171f2d8d9bddad5995fb2fb94f4a2f7d81ea32c3a31d81290c2a5a9d38ceee696287e315483820a575a0df94cad88c862d9d39d2f73254bf5a88f9cb437ddd122ec3f599289ede4a8bf0c65aab0f207164164770b8948e16ccd8849b428b2acf297d0989b5883cbc40bbd030bc656a553253d677aea3fe185f6eedbee89b0a44066152be877512b0e94b6290a0a0c5793356d50b9779ba3f1b63d4eae4925ee740ded661068b33a505becf9c9ae03134aa5af2f420524b4d832330059b7ecad36665bbf08c4135caf28d54e71be5657bcbe368224467036a724fc4c3177bd4ccab6c8646f9d90ee6ced862df60958a3bcf721c1ad8714d43533cceaebda1abaff3b0fb3c874b856d701e9ff8770d996fab79a831fec945180e21953dfcdb370d78b09a7ed5f24ed3bd888641a2889ea2fdc6b66ce28a36fdaa0e34f6bdc291de77549bed9356cef8822942f0fd2968f27eadee8b6557a8a13bcf6a60fd12d2d90556db6909de2bee7d2668f2152ae63409308b8c0d829e9b4e970bfd373c44fdcb91315b81b431e716788da3abbf09de81d5d95c02da2786632a291363b89415d62c6985af9ab9137affb1a9502f7fbf33d16fc6b68f2aa03249c1951526343636352daad9d80b524af5f26a38632dba517040bf0196f1129fc3fe42413bc12282ffb073e815ccb47b4a980d3537dad21a3f3d1aa65febc088a050411b68942cccbaefde61723aaa8693c743db0cd241078766ef052272c0e8a469e477d1fdf1ea3169a578398dacdfcd13577a2126dd86c3fc0b85ff685a67be2623c7dfc54a351738f635f6415424083c7dcb7fbce85b0522b37a31f8048cbafc892b7a02643e6e9da4f24eadaf29b2b1e147c99e9ebe8d150e8b2b63390de467ce7ffcc5d83b80813a276c01b2eb0ff27a8fb4c6506071ad842d9a5d57ffd7377fbcf4116d83eca878e377f947eaeb4813d34672c73020cf11a24dc9748ac42fb0a83c93f23420883eb5bec865174296ee8cc46b9130873e633feab5b78f7a207557d0478225150863fb123fbebc1e59ec76a1f8fc014a3d299d596cf534066167b21659566b0c2d93e042b02da5698bf50fd409261bf44d61db0c842e9ceb1e5143d4e5c2304cb2987c5d2a2f7400ff349ff1205e4ea9746f9ba42442e8f4b4803fe5f98c3e9e59dbe17fc64d832330059b7ecad36665bbf08c41351c79e5c3a6ca23de253087005b5242db7340da844cffc8eb1bbb68725770d35f75b4b2931cea47a9ed4bb8aef6bc406d47e4732e15d39218e018c4b093c031dd50cc6ea52792acb9f4f0e86c00a2072326cddce71a8f002cba203ec58650e200121968c7dd95874c3b274600093e1564a27bf0a6844109b73afa8b0323ffd677eb31da3418270a65711a3ce6b32ef8d6c9de5923b1711af3e4364568280f61252f7cc854f723f120e92076786a0056adfcfd9b66ecf158a83322fd3144718db856c4271afd07a76763b8c957578543995336bccf321cba802205f5821b9116809ea912d9120799ee9669c604cdfd940969f30a3c19b4cc2607425e0e5b122997a35782d37af413b5e97759589f07885bf6e60cf67adbc5754be73cb2d91d5594eec2467cdc72e54e06a0605a7044e4ea62653130ecfc44c464f311868a7844bb13b794e6a45093009154eeab575c3f8c95a1c0ff606f27b68858bce03647d777dfe6a4c72ad1be2fd91cdf56cd2520003e118c66759712395d068302d2c37eddb358dfeeb84ef15ffecfedd677517ba4efeae814dec2781da33982065d5e2476a88b1851390380187ac82aae9968b9b4aa19d23b83a2085eb5a59f12abd4cedf818c9850ee1d471b26da6180ae77574fbb43817f2b523bebcedb797a1796199c694bb3787650f7c440933d2fd07cf75fd2c052f821da72ac71df66ae0836c4cbf0044dcd3df59dc0b225b3dbf19bcbfc4a8bf0c65aab0f207164164770b8948e7b71d5b363461f1a792440530de03288e67ddf2823fd57a5461c69de25fb5c6d52116e7cdfebc4e7acfd125bc4a7a408f39b1841b411816167527c48c9636d5c5ff292fd682d734bb18483a8655c3faabf21bad3b11983504de8d84a5d7b19ce6dd6fd55a25a828aa3f557006121d75f3b957e04210bd9c238859f27119a474056683976ba7c471a7e1fcfe7607c42222942350719833fd2b5c2561e82ad3b848796c8230dd01e375ac1a52ecdb54777f4bc75009dc96a76643b2b71e84270afdfed802eb5fb4d17e4b9c37fdfa1f7d771e8cb8432a473bbcde81e9c73fb9bf970aeaa098e45868df9c98d9fce454bae9cec3320d67c5447252a327d7a8705718381a574b9ae8b6c2a2f86a327fafed856a5a215de5d258a456a635a7ed59bbde4060402610ee340b321f64a1262d04a1c5c95122eb5b38a78cd194dce36a7de1da8394701ae33f82333c789f3232ccf473dc923efe57835078bdfda8d9ce449dc54510ded0357a47ff4acb739e4a44833d459c197af11d7cdc620783f805a461fb4b616ed7bb2dc712c23688af1e4d565f36e1ba30da63a8e5b3393df36dc781172630a6a3b5796ef229f45e13fa92adcab5beac9075883ed82f8f0dc8a6ab1a4f2118d3c4f62620b425787e73546acfc9b04db98e6633e51beb54814020c86701033ca49ae4f17db5c7316b81f6869a60d05c867c47951c359810f92db40067f0859f60a38de0df6736ab41b1bb652f94018757d521727f46f2cef9f0d62183fa6bc89d6cdaa9dfdcc00c64ee7d91c104e7bd8b771ef01b6b81fdb6bee4be51fb24dcfe042cd2357ab47d9e989fe8f0373d33b38ef6ecf57a7b45a68a5445be94295934943c1968b1df82578a5dccfc1816f6cd38c8376fc1865bc6956ec7ab78f7a207557d0478225150863fb123fff5bd444e5e8968d061a6b0578fa9ed492b381cf8f5ffb61b24c00d64cc1a9b92da5698bf50fd409261bf44d61db0c848a72d07745ab8a584a090a95d38ef43c2c0d84178ba15fc957f82f24ef7527cf46b028b2aa6c742e67d1f7eb3828f8675d57c83097ae68553e9317faba91089822594a3be1209edd37483fd5e374b07630086343032f54001b89b34d0f734a1e1226bf2e0fc9742ef21fe8ad92f9dc4b7be67740c178d897a94390f2ef783a82fc3ed7ea20176226b2a386a820d7b1a5ccac300bb013692b7a54b2b0ae396dac121968c7dd95874c3b274600093e1564ac38fa53f80f4ecf7f12dfcef347834ca81d0b58ec5d2a28c364722ac022161613583a01ee298bd0acec0e78920216d136a597fcdeeea9aa60fa8f01ecec89a14fae9069bf746e220067dcaa7f49241e6875ae902d31cbf6b1cf5fc8622fd9204b23e8bfc456b8f8a6d19d1e2e46709ca662b8a2659786f5dbbc42fc19413c1cfc000d4a6626a5091310292b53592db38d2fa60792d2f09e3d4cb5454719f299c3dbda047b47743bae7fce6e1678e84a417fa462914a8d5ce383b937aa84ce4ed6d65c661374e04fc6951e969713061a7da9a75b46e41a6dfd49fc1380421ad0d6ecd6579543b6f68ea3d5c2bb4e6466b64b45358c952c19526ad1f9d718fbdfcd6dec5810965de6033520c23b8d07747b657e7a456e2fb2c971115014af27d131ea8060ec50854073c1bc4a6b7553258c0376f1697bd0e3d7e83efef6e6253023cb17bab81fd1fef57913a37381291faf1b060c2868ca6ffe9b2359ad8ed1683c51d5c0a8a6befaadd3a6b6c35dc2fcb506fad4c9a3f7611059fd57d4ec1bac0e03204aefb62905496e9385c928388065174296ee8cc46b9130873e633feab5b78f7a207557d0478225150863fb123fcec2453970026cac4c66d9100b37469ea53cf7a24bf3409787354a385b1ff7f92da5698bf50fd409261bf44d61db0c84825517a77f100c689aafcbab283b4d8f2f7400ff349ff1205e4ea9746f9ba42442e8f4b4803fe5f98c3e9e59dbe17fc64d832330059b7ecad36665bbf08c413598871c7131222d07138258ac51b7a89cc79d0065854be261d90d006477a7330300a0c6c19997d53cb9229e3b3e67adb63cc1059d83f19e62b0a95e951befc777682f0a01f7ca32e1a6e5ee5a395779e8fa2c6fe477b745db67e08fb6ba991b3797eb8d6ea46bd97c0ff128b455f9e6b1c88560cb6c5b84681e2ed801a3952ea215a21fe22f6b38260f5d75b1b6a00235b7e705158bcaf914c4a0bc73af4549a23fa8fba5a475512efbc7ae95d2fe426eec8d35e9cbb26171499605441870bc5c38f600e3334f546df0f3c07d38061f4b625503dd82bc79b90b67bf5a01ac3b44473dc923efe57835078bdfda8d9ce4493e7d218defc6ee7eb17add37daba3c0133d459c197af11d7cdc620783f805a461fb4b616ed7bb2dc712c23688af1e4d565f36e1ba30da63a8e5b3393df36dc781f1ea07c88ec8464570550e165e78b9db8cc170ce33c23db158cd062394bde5fc906c45503e053762fc0ff307cd158bdfacf7bd28fff3bb30bbd270ccc4f1dbf8a06835aba465498c454f70d398ef95f64e0ca889d4d2cfc3a9bfbff6898403ecd22656d9e15c742c28d82aef8c2197f0596c9020bc1de54decbe1e552f9014f203ea2598bbcca16d0bab57b48299909544940d47e690bcf09bc5cec1abab307b9cc6b1430e5b4c7d4adae43b2f27485da3d5cc987b4b85876de0e2e4b23fdefa89421ff248f1601e5793b664be6a5f09a0e2767e9b704c98ff0b52df6c44e9075f7e5d70b6c66dc6f973f8ea5c053d2543ae068c65802f725aa70b32c26fa04488f72d3fb8b7e271afff0b2f2ee9ab5fba149515a15300524f9abf53399cea21ad802d4af7a7c22b095a6119e19109f09cb34ec90c4f7f082c9a69c3aa57b4ef86ab5dced27a10da300a5543ba5026638f36d2afbc0986b0fcc53742be4695f0ebe89f10dd06ee6922bb3d7f740d1aa12ed97766bc34d242c7a26e5e4949f39301ed3e3ba7f538da3ce2670e98a0734a8a13650702d19aaa8b057c08223b11c9e9ad0776e29ca4226ef354e809b3c6fda005a9da3eb46cce941968396abb8b98802f9e47ee90eaa2ecddda03e220b5e2d6c054f932e93536ed8191e43fc7e8a1fa15685199ca99f45783aa08f8bbd9c10b932de9162fc11f3a0bab02b9a13536ce6f9f83b97ddce1428ae185513baac954ef1ed9038b35ea84d48acc6b0b5e6ab8dd025bd2b89445ae2e05a1cfa28fff123471e5687f5db627085fd3355ec2b411fb0dc00d80f9c83f39c6daed752e96112ba0dcce535b9c5c6b97e2c81045f7b883de99a1a1ca7a5707a559fa7ff235264ec4fa69f5ddd132adcd71d4a57a47db2813277250d6036ab8cba5c7d48c86082eb610bf37400f18364a1ffe9307f209c657457eb97375bbbeab375c6cd402ec3b61d10171483630dc1a1452a6dcf3fb6877ce474eb08667a9e3c5fc890b34dd20389eb4788699f33e2300b26f3ef5363c5773e93a5c3569363b139f4d0b5d58b95be4254ff0e49c60875646b712e94a48881d78a441715e217726e68a92faea82ea6300477c36e9c9cb6c410308fc4db94be82f182eade97707b2f3237efa7ee743b0c6aa3df3521462f2e7426a348424d5b04a40e8bb364deb7548a10d486db50a742647d84987ec5f6b53805ce42b6d8e923903b1a5da714c5c14121a74e72ebbcad2a27378a9066c1cbe0321a4ac07618c6fbbb35ff6ef42d216a468825ac06324c16e4b7cc8158164c6d940a57ffd7377fbcf4116d83eca878e377f9364d387a4cd794c4a64ba0b06ece241718648d66adcc032540a66784b74b48fb65174296ee8cc46b9130873e633feab5b78f7a207557d0478225150863fb123feb87f12f7713dfb90d3122eb1306f2ef96f8ac7f2e05cdacaa0198946e5e11e52da5698bf50fd409261bf44d61db0c84825517a77f100c689aafcbab283b4d8f2f7400ff349ff1205e4ea9746f9ba42442e8f4b4803fe5f98c3e9e59dbe17fc64d832330059b7ecad36665bbf08c41357ea8dcdc1f10fe14247e7fa8c82cf5147340da844cffc8eb1bbb68725770d35ffba5becd261c40c92e9a75d68812ef41be0e5d45cefee3dacfc00ad544b504acc4859d259d09021de9b16c02469c63a080fc70947ade4062b9a2d5726d3c94b6e6afdd96863afed266344b2a2b1bcf01c6f2a6a385baa3d8bd28cade28ec5e56ee6ad953e926e755c0c182854ac5dcd4f3e2db460775589906376833ff7ec30e9fa6a54f10518b96f80fa6f8e90e3d71ec8d35e9cbb26171499605441870bc5c38f600e3334f546df0f3c07d38061f4b7f6b79d0efed12273c9712bf2c0889ecad87c1462fcf7e3d60b2076c92a4ca80bd567f4871f061cefc2c4fb9eeb61c70b7cd25ced4987f23268ae955892c1d9f9153d77b3907af7cf6a9d9055fc60c11d5269a1e5c4fb1dd8133c1c7be5b9be8ab4856caa9d66161db511b77510c312e60ad2f899989dd17c1ccb767e830677f66d1737f731ab3a6f5c8ee8f8151ad25e67d3ed202400b2ad39b3fc1b402bc0f67fa1d71b061e983b3e975bef1a44bbad6074d87e139cbd11caa874b420264261f9ea23395ba33047fc55294a5396ecf8e06fbf29d5c53dc8df533fc95d21b7958ff9e43f2a30ec80c7decd8159c3c6003ed4d9fb48cf4417660e478ddf4d5865230dd5f56efb6512fc4715a6fcbf9231fe78210f3fe17172903a692cdc0eabd3c51d5c0a8a6befaadd3a6b6c35dc2fc1697b9e7b65416d98854e8b3ced074c0f1e82a8beb9ed728247fb8de3a27885065174296ee8cc46b9130873e633feab5b78f7a207557d0478225150863fb123fbebc1e59ec76a1f8fc014a3d299d596ccec83f4fd3e7dace5a2b94dc485a9a6a2da5698bf50fd409261bf44d61db0c848a72d07745ab8a584a090a95d38ef43c2c0d84178ba15fc957f82f24ef7527cf46b028b2aa6c742e67d1f7eb3828f8675d57c83097ae68553e9317faba910898f6987f3e48d428e9b7135986ead349d730086343032f54001b89b34d0f734a1e9bb2ba496fd5fcd074841358663ad3c0a5636a0862a63554fa4c6c827693505977f7e9ebbc609b240573edcdaaf91f6eb84fdf0baef6fbc82e3fde57edab4f3fff53d9ded15f56cdac5e8e824eaf0db8e096bedf958671008f7f54119c983be3483036e42e11fb61c58e11c634daec2613583a01ee298bd0acec0e78920216d136a597fcdeeea9aa60fa8f01ecec89a14fae9069bf746e220067dcaa7f49241e6875ae902d31cbf6b1cf5fc8622fd920efb039bf9c264ae7a70cf2dfbd3bdb8aad87c1462fcf7e3d60b2076c92a4ca80688bfb93d284b2f49b855d12103c63c6b7cd25ced4987f23268ae955892c1d9f9153d77b3907af7cf6a9d9055fc60c11d5269a1e5c4fb1dd8133c1c7be5b9be8ab4856caa9d66161db511b77510c312e1e252525b861c3dbf036518c1be00c0a66d1737f731ab3a6f5c8ee8f8151ad2575b95a48c064775294a2e22321b95a545b5121f688104a266c7e2262ebfbae57f5f0df7e6a027a645ee5ced2b907a6b782f262b74c00cd007f385302e55e3c3cd0e15449207a8b372cf86f9ab8ceb7d0f93e84097bde479b43b7c8fb1c622d1b104e7bd8b771ef01b6b81fdb6bee4be5da4a776feb7f4e030f18806f499197f704eb920cf8439f9a67c6b4fd5e4e271fd0431d17ee5954067a97e7a813b5fd5a07f1d0689e84904e0cfeb1c9955483643d394d888b778988b63f9196717aca4cec6ab59ac4da7291a4f6e73090d3684ded08d89f1cc9ffab5aac2151e6e9f50ef64d22a784d58a30c704340f5d863d68bc5e16c8174905493faa5c3869e97e912824f03d454e3403ee9d74dd3d7661bfdd9ed06d235f8c201109561077c7bf2c3f1b63d4eae4925ee740ded661068b33d2313806fcaeb35d04a9c85b557b6327a031ab700b6a7e376cb8161488444b672f15ee3351efe29277befd50fc445e13672672428a97b210e1762e482462b84db170dcd8138b41065cb14d62aed7a15317cbd0ce8b3ea06b8987d98e9f502b11915389c9fa55d72610be0b61bbe78518cd12a07cfb5fa7aec25c1a81ed7cd8fcda312517fc47ae9377e4311f5cfb4c2a8f4ae7de6b2ad17132b25d1c775ee148a280c23c23cf86de2b6531a9050cc1a69cec3320d67c5447252a327d7a8705711935125b9c464d7710a194b165da50ae2ec5d40c7263bca8ad0bd5e845e4f154d31e78c644d64a10d6829b42aca2891a0c10b0f3e17d0302d9e28569c82e459c0473e2a8d7b077de30c9ddeb50ad8ead6e801f47ccfbb3663406582c1bf2acf4698c7e6e447aa265b43441b5896f266e6fc625ce7aef742cfa7318b2330c6c377502b23f79e723792855d6a987a7d2ca37d9cf173ef3e02164d8612372b1bc38a9ea1087aa285008faa33aaf67a4c42bccb7d65d4ee349127e805a363843e951b813a9767993ca977bd2133118e270ff94a48881d78a441715e217726e68a92f79df7baf1c229dc0761439a8dfb6ff97c4db94be82f182eade97707b2f3237efa7ee743b0c6aa3df3521462f2e7426a348424d5b04a40e8bb364deb7548a10d486db50a742647d84987ec5f6b53805ce42b6d8e923903b1a5da714c5c14121a7f64fafa7924c64689feb22f02adee744d12f2e2597d49c3ba657bd8af3adbe2cdd0ff72167d040d8bb9a449cfb2190a5346a8793b05deece5a72b1b55fca897486f28567e3fdfbf381a566c93776323887f90b2584706e9e6b7e51dc39fa09401fc5d36f329160be01b4d1e1d348eed74d4f8adfbe06611595a724936e1b3f5a4a8bf0c65aab0f207164164770b8948e400288c9f6115abafea4945c9d4f27b85188eb05a52709bcab0d288be439b08c2b8d6383397ddbbbcfa83329620417d54ed6d47aabdc8d88687919457736e2f415caa49b3d43b16e3e6037c592f3e0d2e9485e90547f3590e498d1b5264593331843320dc8b0bb98092757054728afadfae1e3911eeef0a838757b1e26a7592a2688374bf102c56cd13d26338f8043b40002bc468a87c8d5a876a609866a527189d123c94371f622e6edf2c172bf88835eb474699da66790fd1988b8329fdbc479d805ac377887376118c788407dc94284425822a843ba85b2d4dc279a63dcc4cf56bc20174a8aa6f80701c65e8faa70b0b31c66c18a70114c943ad598af121c3cd3955cedfbdf058bdfa17eaf732e0f92e3e89cae27f88d77ea203b73e6cf92fcfd9b66ecf158a83322fd3144718db856c4271afd07a76763b8c95757854399f480f209d065d4ded0a0194b6ade4db34aded2e5f2e0fb1ff9e14ec814af15900d28db49cfc91ffb9da84bda314aec5e536f7ad8a70d5b237955e93cdb13323c3915789d80990d5eb5089549c4f9d2f8fc36e09a3bd1730cdb95aa192c5a1b77eaf7dfab49b22678897a96eb37aec6f8d63f96b789d74e523288c018e24f68547c35180d12a9ecb61e0bfd83787e425b94a48881d78a441715e217726e68a92ff0376c5cf1763c644c35d3c737e5cca0ddd360fcb729ceda3cde2b1b9fe1141755cc00552c06960c6205d2fa7e309f1aeba00c5484aebe2a52330998732587107562e70dccd33e94facb1d869433462167678f8539a81a81ecf0261e69af93f48b282b559079761de9171f2d8d9bddad05e374c37652a12e273aada23c2abfa8'

function sm4_decrypted(key,content){
  const decryptedECB = SM4.decrypt(content, key, {
  mode: SM4.constants.ECB,
  inputEncoding: 'hex',
  outputEncoding: 'utf8'
});
  return JSON.parse(decryptedECB)
}
console.log(sm4_decrypted(key,content))

请你写完整python代码,结合js代码,把所有的数据爬取下来,并保存到csv文件中 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/801118.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ValueError和KeyError: ‘bluegrass’的问题解决

项目场景: 项目相关背景: 问题描述 遇到的问题1: KeyError: ‘bluegrass’ 不能识别某标签 遇到的问题2: xml etree.fromstring(xml_str) ValueError: Unicode strings with encoding declaration are not supported. Please …

Go语言--广播式并发聊天服务器

实现功能 每个客户端上线,服务端可以向其他客户端广播上线信息;发送的消息可以广播给其他在线的客户支持改名支持客户端主动退出支持通过who查找当前在线的用户超时退出 流程 变量 用户结构体 保存用户的管道,用户名以及网络地址信息 typ…

MongoDB自学笔记(一)

一、MongoDB简介 MongoDB是一款基于C开发的文档型数据库。与传统的关系型数据库有所不同,MongoDB面向的是文档,所谓的文档是一种名为BSON (Binary JSON:二进制JSON格式)是非关系数据库当中功能最丰富,最像…

【conftest】和【fixtures】

一、 conftest.py 文件 作用:存放case的前提条件和后置条件配置函数;一般该类函数都会使用fixture装饰(fixture该篇第二点会介绍);使用conftest里面的函数时不需要导入 conftest.py 这个文件。只需将函数名作为变量传入…

Python实现人脸识别

直接上代码: import face_recognition import time from PIL import Image, ImageDraw def faceRecognition(fileName): # 加载图片image face_recognition.load_image_file(fileName)# 人脸定位beginTime time.time()face_locations face_recognition.face_lo…

SEO:6个避免被搜索引擎惩罚的策略-华媒舍

在当今数字时代,搜索引擎成为了绝大多数人获取信息和产品的首选工具。为了在搜索结果中获得良好的排名,许多网站采用了各种优化策略。有些策略可能会适得其反,引发搜索引擎的惩罚。以下是彭博社发稿推广的6个避免被搜索引擎惩罚的策略。 1. 内…

【python】pandas报错:UnicodeDecodeError详细分析,解决方案以及如何避免

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

Spring Security Oauth2源码分析

Spring Security Oauth2源码分析 前言一:客户端OAuth2授权请求的入口1、DefaultOAuth2AuthorizationRequestResolver类OAuth2AuthorizationRequest类authorizationRequestUri 的构建机制redirectUri 3、OAuth2AuthorizationRequestRedirectFilter类 二:O…

IDEA实现SpringBoot项目的自打包自发布自部署

目录 前言 正文 操作背景 自发布 自部署 尾声 🔭 Hi,I’m Pleasure1234🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.👯 I’m studying in University of Nottingham Ningbo China📫 You can reach…

服务器数据恢复—raid5阵列热备盘同步失败导致lun不可用的数据恢复案例

服务器存储数据恢复环境: 华为S5300存储中有一组由16块FC硬盘组建的RAID5磁盘阵列(包含一块热备盘)。 服务器存储故障: 该存储中的RAID5阵列1块硬盘由于未知原因离线,热备盘上线并开始同步数据,数据同步到…

[iOS]内存分区

[iOS]内存分区 文章目录 [iOS]内存分区五大分区栈区堆区全局区常量区代码区验证内存使用注意事项总结 函数栈堆栈溢出栈的作用 参考博客 在iOS中,内存主要分为栈区、堆区、全局区、常量区、代码区五大区域 还记得OC是C的超类 所以C的内存分区也是一样的 iOS系统中&a…

sping总览

一、spring体系 1. spring是什么? 轻量级的开源的J2EE框架。它是一个容器框架,主要实现了ioc,同时又通过aop实现了面向切面编程,它又是一个中间层框架(万能胶)可以起一个连接作用,比如说把myba…

Django任务管理:项目定时执行及简单管理界面

1、用django-admin命令创建一个Django项目 django-admin startproject task_manager 2、进入到项目下用命令创建一个应用 cd task_manager python manage.py startapp tasks 3、进入models.py定义数学模型 第2步得到的只是应用的必要空文件,要开始增加各文件实际…

【java计算机毕设】图书馆书库管理系统java MySQL ssm vue maven项目设计源代码+文档PPT 小组作业

目录 1项目功能 2项目介绍 3项目地址 1项目功能 【java计算机毕设】图书馆书库管理系统java MySQL ssm vue maven项目设计源代码文档PPT 小组作业 2项目介绍 系统功能: 图书馆书库管理系统包括管理员、用户俩种角色。 管理员功能包括个人中心模块用于修改个人信…

y7000p 2020h风扇狂转解决办法

方法1(不推荐) 电源选项限制99% 这两个100%都修改为99%,这样可以限制睿频,但是不推荐,因为会显得有些卡顿注意方法2只在win10下尝试过,win11需要你们自测 方法2(强烈推荐!&…

2.3-基于RNN的语言模型的学习与评价

文章目录 1引言2 RNNLM的代码实现2.1初始化2.2前向和反向传播 3语言模型的一个评价指标-困惑度3.1数据量为一时困惑度的计算3.2数据量为多个的时候困惑度的计算 4 基于PTB数据集的RNNLM的学习的实现 1引言 所有代码位于:https://1drv.ms/f/s!AvF6gzVaw0cNjpx9BAtQYG…

docker-compose部署redis-exporter

一、安装prometheus 1、安装 version: 3.1services:redis-exporter:image: bitnami/redis-exporter:latestcontainer_name: redis-exporterports:- 9121:9121environment:TZ: Asia/Shanghaicommand:- --redis.addrredis://127.0.0.1:6379# - --redis.passwordlabels:org.labe…

如何设计统计量及相关假设检验

一、如何设置H0和H1假设 谁做H0,谁做H1,在统计学的假设检验里是有约定俗成的规定的。即:status quo(默认/现状)是H0,而新观点或试图challenge现状的是H1。H1也叫research hypothesis,所以我们做…

Postman、Apifox、Apipost用哪个?

Postman、Apifox、Apipost都是流行的API接口管理工具,它们各自具有不同的特点和优势,因此哪个更好用取决于具体的使用场景和需求。以下是对这三个工具的比较分析: 一、Postman 特点与优势: 支持多种请求方式:包括GE…

Gartner发布终端安全运营指南:有效终端安全运营的三大关键

孤立的终端管理团队使用专门的工具和策略,这会产生不必要的开支、降低容量、增加风险并降低员工体验。I&O 领导者必须立即采取行动,团结终端管理团队、工具和策略,以取得成功。 主要发现 Gartner 客户互动和最近的一项调查表明&#xff0…