JavaScript解密日记6

引言:

  • 在从事JAVA工作的第五个年头,突然开始对js加密js解密感兴趣。开始了探索的路程

1. JavaScript基础知识:

  • JavaScript是一种用于Web开发的脚本语言,它包括以下基础概念:
    1. 变量(Variables):用于存储数据的容器,可使用 varletconst 关键字声明。
    2. 数据类型(Data Types):包括数字、字符串、布尔值等基本数据类型,以及对象、数组等引用数据类型。
    3. 运算符(Operators):用于执行各种操作,如加法、比较、逻辑运算。
    4. 条件语句(Conditional Statements):用于根据条件执行不同的代码块,如 ifelse
    5. 循环(Loops):用于多次执行相同的代码块,如 forwhile 循环。

2. 加密和解密的概念:

  • 加密是将数据转化为不可读的形式,以保护其安全性,但又确保正常运行,而解密是恢复加密数据的过程,将其还原为可读的形式。

3. JavaScript中的加密:

  • JavaScript中常见的加密算法包括:

    1. AES(Advanced Encryption Standard)
      • AES是一种对称加密算法,用于加密和解密数据。
      • 它支持不同的密钥长度(128位、192位和256位),提供了强大的数据保护。
      • 在JavaScript中,可以使用现成的库如CryptoJS来实现AES加密和解密操作。
    2. DES(Data Encryption Standard)
      • DES是一种早期的对称加密算法,已经不再被广泛使用,因为其56位密钥长度相对较短,容易受到暴力破解攻击。
      • 在JavaScript中,你可以找到一些实现DES加密和解密的库,但不推荐在安全应用中使用它。
    3. RSA(Rivest–Shamir–Adleman)
      • RSA是一种非对称加密算法,用于加密和解密数据以及数字签名。
      • 它使用公钥和私钥,其中公钥用于加密,私钥用于解密。
      • JavaScript中通常用于加密数据的传输,如HTTPS通信中的密钥交换。
    4. SHA(Secure Hash Algorithm)
      • SHA系列算法用于生成数据的哈希值,而不是加密和解密数据。
      • 常见的SHA算法包括SHA-1、SHA-256、SHA-3等,用于数据完整性校验和密码散列存储。
    5. HMAC(Hash-based Message Authentication Code)
      • HMAC是一种用于验证消息完整性和身份的哈希消息认证码。
      • 它通常与其他加密算法一起使用,确保数据在传输过程中没有被篡改。

    这些加密算法在JavaScript中有不同的实现方式,可以根据具体需求选择合适的算法来保护数据的安全性。在实际应用中,要注意选择足够强大且适合特定用途的加密算法,以确保数据的安全性。

今日案例

var _0x2608=['WmVHdUM=','RnJVdG8=','VFBGYWE=','XihbXiBdKyggK1teIF0rKSspK1teIF19','Mnw5fDN8N3w4fDV8MXw2fDR8MA==','dWVuRW8=','clhHc20=','eEJkQkg=','ZXhjZXB0aW9u','TURKZ0I=','Z1lUU1g=','VXRmOA==','ZW5jcnlwdA==','ZGVidWc=','UXhjelk=','WFhzVkc=','YXBwbHk=','bW9kZQ==','dHJhY2U=','bG9n','ZGVjcnlwdA==','T1ZQRGQ=','e30uY29uc3RydWN0b3IoInJldHVybiB0aGlzIikoICk=','aXl1cWk=','VVhDdmE=','d3NwVmU=','dGVzdA==','d2Fybg==','dG9TdHJpbmc=','dGibGU=','c3BsaXQ=','TGJTY0k=','Y29uc29sZQ==','ZFNjdEE=','aUxEU1g=','ZXJyb3I=','VXNwVWo=','cGFyc2U=','cmV0dXJuIChmdW5jdGlvbigpIA==','WGN4T2c=','dndycFM=','T3JjRUE=','ZkFFWnM=','cmV0dXJuC8iICsgdGhpcyArICIv','UGtjczc=','UmtnVEI=','aW5mbw==','bUR0em0=','ZW5j','c3B0bmk=','Q0JD','cVF4Umg=','MHw1fDJ8NnwxfDN8N3w0','UXdpYXY=','Y29tcGlsZQ==','cGFk','QUVT'];(function(_0x49a2af,_0x260822){var _0x4c7674=function(_0x3ab62c){while(--_0x3ab62c){_0x49a2af['push'](_0x49a2af['shift']());}};var _0x2863df=function(){var _0x35228c={'data':{'key':'cookie','value':'timeout'},'setCookie':function(_0x1e7170,_0x2e20a1,_0x1463d8,_0x4fc1a4){_0x4fc1a4=_0x4fc1a4||{};var _0x396e7d=_0x2e20a1+'='+_0x1463d8;var _0x3781be=0x0;for(var _0x42e8ef=0x0,_0x4edf23=_0x1e7170['length'];_0x42e8ef<_0x4edf23;_0x42e8ef++){var _0x4beebe=_0x1e7170[_0x42e8ef];_0x396e7d+=';\x20'+_0x4beebe;var _0x23c51d=_0x1e7170[_0x4beebe];_0x1e7170['push'](_0x23c51d);_0x4edf23=_0x1e7170['length'];if(_0x23c51d!==!![]){_0x396e7d+='='+_0x23c51d;}}_0x4fc1a4['cookie']=_0x396e7d;},'removeCookie':function(){return'dev';},'getCookie':function(_0x913dd,_0x49cbd3){_0x913dd=_0x913dd||function(_0xcc8b68){return _0xcc8b68;};var _0x13684f=_0x913dd(new RegExp('(?:^|;\x20)'+_0x49cbd3['replace'](/([.$?*|{}()[]\/+^])/g,'$1')+'=([^;]*)'));var _0x25ee6d=function(_0x21d01b,_0x38ba57){_0x21d01b(++_0x38ba57);};_0x25ee6d(_0x4c7674,_0x260822);return _0x13684f?decodeURIComponent(_0x13684f[0x1]):undefined;}};var _0x446aee=function(){var _0x458bf2=new RegExp('\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*[\x27|\x22].+[\x27|\x22];?\x20*}');return _0x458bf2['test'](_0x35228c['removeCookie']['toString']());};_0x35228c['updateCookie']=_0x446aee;var _0x160af2='';var _0x60dd22=_0x35228c['updateCookie']();if(!_0x60dd22){_0x35228c['setCookie'](['*'],'counter',0x1);}else if(_0x60dd22){_0x160af2=_0x35228c['getCookie'](null,'counter');}else{_0x35228c['removeCookie']();}};_0x2863df();}(_0x2608,0x199));var _0x4c76=function(_0x49a2af,_0x260822){_0x49a2af=_0x49a2af-0x0;var _0x4c7674=_0x2608[_0x49a2af];if(_0x4c76['IQAcip']===undefined){(function(){var _0x3ab62c=function(){var _0x160af2;try{_0x160af2=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x60dd22){_0x160af2=window;}return _0x160af2;};var _0x35228c=_0x3ab62c();var _0x446aee='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x35228c['atob']||(_0x35228c['atob']=function(_0x1e7170){var _0x2e20a1=String(_0x1e7170)['replace'](/=+$/,'');var _0x1463d8='';for(var _0x4fc1a4=0x0,_0x396e7d,_0x3781be,_0x42e8ef=0x0;_0x3781be=_0x2e20a1['charAt'](_0x42e8ef++);~_0x3781be&&(_0x396e7d=_0x4fc1a4%0x4?_0x396e7d*0x40+_0x3781be:_0x3781be,_0x4fc1a4++%0x4)?_0x1463d8+=String['fromCharCode'](0xff&_0x396e7d>>(-0x2*_0x4fc1a4&0x6)):0x0){_0x3781be=_0x446aee['indexOf'](_0x3781be);}return _0x1463d8;});}());_0x4c76['CRIONQ']=function(_0x4edf23){var _0x4beebe=atob(_0x4edf23);var _0x23c51d=[];for(var _0x913dd=0x0,_0x49cbd3=_0x4beebe['length'];_0x913dd<_0x49cbd3;_0x913dd++){_0x23c51d+='%'+('00'+_0x4beebe['charCodeAt'](_0x913dd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23c51d);};_0x4c76['UjemjR']={};_0x4c76['IQAcip']=!![];}var _0x2863df=_0x4c76['UjemjR'][_0x49a2af];if(_0x2863df===undefined){var _0x13684f=function(_0x25ee6d){this['lHjNkC']=_0x25ee6d;this['UcZDmY']=[0x1,0x0,0x0];this['HmphmA']=function(){return'newState';};this['drDcpe']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*';this['TCqeqI']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x13684f['prototype']['vDegzs']=function(){var _0xcc8b68=new RegExp(this['drDcpe']+this['TCqeqI']);var _0x21d01b=_0xcc8b68['test'](this['HmphmA']['toString']())?--this['UcZDmY'][0x1]:--this['UcZDmY'][0x0];return this['JdJHuI'](_0x21d01b);};_0x13684f['prototype']['JdJHuI']=function(_0x38ba57){if(!Boolean(~_0x38ba57)){return _0x38ba57;}return this['LbwrMN'](this['lHjNkC']);};_0x13684f['prototype']['LbwrMN']=function(_0x458bf2){for(var _0x220992=0x0,_0x77b828=this['UcZDmY']['length'];_0x220992<_0x77b828;_0x220992++){this['UcZDmY']['push'](Math['round'](Math['random']()));_0x77b828=this['UcZDmY']['length'];}return _0x458bf2(this['UcZDmY'][0x0]);};new _0x13684f(_0x4c76)['vDegzs']();_0x4c7674=_0x4c76['CRIONQ'](_0x4c7674);_0x4c76['UjemjR'][_0x49a2af]=_0x4c7674;}else{_0x4c7674=_0x2863df;}return _0x4c7674;};var _0x1e7170=function(){var _0x199a29={};_0x199a29[_0x4c76('0x0')]='cjwYs';var _0x137e13=_0x199a29;var _0x2e793c=!![];return function(_0xeb3a2c,_0x7de0cf){var _0x18a854=_0x2e793c?function(){if(_0x137e13[_0x4c76('0x0')]!==_0x137e13[_0x4c76('0x0')]){var _0x21c883=_0x2b4cc7[_0x4c76('0x26')][_0x4c76('0x1')][_0x4c76('0x1b')](KEY);var _0x87cd33=_0x2b4cc7['enc']['Utf8'][_0x4c76('0x1b')](IV);var _0x1b0d18=_0x2b4cc7[_0x4c76('0x2e')][_0x4c76('0x2')](str,_0x21c883,{'iv':_0x87cd33,'mode':_0x2b4cc7[_0x4c76('0x7')][_0x4c76('0x28')],'padding':_0x2b4cc7[_0x4c76('0x2d')]['Pkcs7']});return _0x1b0d18[_0x4c76('0x12')]();}else{if(_0x7de0cf){var _0xa943c2=_0x7de0cf['apply'](_0xeb3a2c,arguments);_0x7de0cf=null;return _0xa943c2;}}}:function(){};_0x2e793c=![];return _0x18a854;};}();var _0x60dd22=_0x1e7170(this,function(){var _0x2f156e={};_0x2f156e[_0x4c76('0x2b')]=function(_0x19fc1c,_0x3d7aeb){return _0x19fc1c!==_0x3d7aeb;};_0x2f156e[_0x4c76('0xb')]=_0x4c76('0xd');_0x2f156e[_0x4c76('0x36')]=_0x4c76('0x1d');_0x2f156e[_0x4c76('0x1e')]=_0x4c76('0x21');_0x2f156e[_0x4c76('0x20')]=_0x4c76('0x32');_0x2f156e[_0x4c76('0x5')]=function(_0xb81ede){return _0xb81ede();};var _0x2ddfa2=_0x2f156e;var _0x291aeb=function(){if(_0x2ddfa2[_0x4c76('0x2b')](_0x2ddfa2[_0x4c76('0xb')],_0x2ddfa2[_0x4c76('0x36')])){var _0x81db53=_0x291aeb['constructor'](_0x2ddfa2[_0x4c76('0x1e')])()[_0x4c76('0x2c')](_0x2ddfa2[_0x4c76('0x20')]);return!_0x81db53[_0x4c76('0x10')](_0x60dd22);}else{if(fn){var _0x502a2b=fn[_0x4c76('0x6')](context,arguments);fn=null;return _0x502a2b;}}};return _0x2ddfa2['XXsVG'](_0x291aeb);});_0x60dd22();var _0x35228c=function(){var _0x1fd0c8=!![];return function(_0x2f3aeb,_0xb404b0){var _0x18badc=_0x1fd0c8?function(){if(_0xb404b0){var _0x180e37=_0xb404b0['apply'](_0x2f3aeb,arguments);_0xb404b0=null;return _0x180e37;}}:function(){};_0x1fd0c8=![];return _0x18badc;};}();var _0x3ab62c=_0x35228c(this,function(){var _0x2f7c85={};_0x2f7c85[_0x4c76('0x38')]=function(_0x23ede5,_0x22cbaf){return _0x23ede5+_0x22cbaf;};_0x2f7c85['OrcEA']=function(_0x4f011b,_0x2fee37){return _0x4f011b+_0x2fee37;};_0x2f7c85[_0x4c76('0x34')]=_0x4c76('0x1c');_0x2f7c85[_0x4c76('0x31')]=_0x4c76('0xc');_0x2f7c85[_0x4c76('0x4')]=function(_0x5d5fd7,_0x3451ae){return _0x5d5fd7===_0x3451ae;};_0x2f7c85[_0x4c76('0x2f')]=_0x4c76('0x29');_0x2f7c85[_0x4c76('0x17')]=_0x4c76('0xe');_0x2f7c85[_0x4c76('0x27')]=function(_0x5260a7,_0x574b32){return _0x5260a7+_0x574b32;};_0x2f7c85[_0x4c76('0x15')]='FvtDQ';_0x2f7c85[_0x4c76('0x1a')]=_0x4c76('0x33');_0x2f7c85['LSrZK']=function(_0x3af7bc,_0x2a5e26){return _0x3af7bc(_0x2a5e26);};_0x2f7c85['wspVe']=function(_0x31938e,_0x411898){return _0x31938e+_0x411898;};_0x2f7c85[_0x4c76('0x25')]=function(_0x4bdfb7,_0xbf07c1){return _0x4bdfb7===_0xbf07c1;};_0x2f7c85[_0x4c76('0x30')]=_0x4c76('0x18');_0x2f7c85[_0x4c76('0x23')]=_0x4c76('0x2a');var _0x56ebb6=_0x2f7c85;var _0x22b3e4=function(){};var _0x4ce9e4=function(){var _0x4db57d={};_0x4db57d[_0x4c76('0x35')]='1|4|2|0|5|7|9|3|8|6';var _0x11dc2f=_0x4db57d;var _0x111340;try{if(_0x56ebb6[_0x4c76('0x4')](_0x56ebb6['ZeGuC'],_0x56ebb6[_0x4c76('0x17')])){_0x4f57b2[_0x4c76('0x16')]=function(_0x265feb){var _0x429d3a=_0x11dc2f[_0x4c76('0x35')][_0x4c76('0x14')]('|');var _0x51c561=0x0;while(!![]){switch(_0x429d3a[_0x51c561++]){case'0':_0x1c8f05[_0x4c76('0x3')]=_0x265feb;continue;case'1':var _0x1c8f05={};continue;case'2':_0x1c8f05[_0x4c76('0x11')]=_0x265feb;continue;case'3':_0x1c8f05['table']=_0x265feb;continue;case'4':_0x1c8f05[_0x4c76('0x9')]=_0x265feb;continue;case'5':_0x1c8f05[_0x4c76('0x24')]=_0x265feb;continue;case'6':return _0x1c8f05;case'7':_0x1c8f05[_0x4c76('0x19')]=_0x265feb;continue;case'8':_0x1c8f05[_0x4c76('0x8')]=_0x265feb;continue;case'9':_0x1c8f05['exception']=_0x265feb;continue;}break;}}(_0x22b3e4);}else{_0x111340=Function(_0x56ebb6[_0x4c76('0x1f')](_0x56ebb6[_0x4c76('0x27')](_0x4c76('0x1c'),_0x4c76('0xc')),');'))();}}catch(_0x21731c){if(_0x56ebb6[_0x4c76('0x4')](_0x56ebb6[_0x4c76('0x15')],'zIgQx')){_0x111340=Function(_0x56ebb6['MDJgB'](_0x56ebb6[_0x4c76('0x1f')](_0x56ebb6[_0x4c76('0x34')],_0x56ebb6[_0x4c76('0x31')]),');'))();}else{_0x111340=window;}}return _0x111340;};var _0x4f57b2=_0x4ce9e4();if(!_0x4f57b2['console']){_0x4f57b2[_0x4c76('0x16')]=function(_0x5e684b){var _0x3dedbc=_0x56ebb6[_0x4c76('0x1a')]['split']('|');var _0x475e2e=0x0;while(!![]){switch(_0x3dedbc[_0x475e2e++]){case'0':return _0x332d92;case'1':_0x332d92[_0x4c76('0x37')]=_0x5e684b;continue;case'2':var _0x332d92={};continue;case'3':_0x332d92[_0x4c76('0x11')]=_0x5e684b;continue;case'4':_0x332d92[_0x4c76('0x8')]=_0x5e684b;continue;case'5':_0x332d92[_0x4c76('0x19')]=_0x5e684b;continue;case'6':_0x332d92[_0x4c76('0x13')]=_0x5e684b;continue;case'7':_0x332d92[_0x4c76('0x3')]=_0x5e684b;continue;case'8':_0x332d92[_0x4c76('0x24')]=_0x5e684b;continue;case'9':_0x332d92[_0x4c76('0x9')]=_0x5e684b;continue;}break;}}(_0x22b3e4);}else{if(_0x56ebb6[_0x4c76('0x25')]('FzuYF',_0x56ebb6[_0x4c76('0x30')])){var _0x54c1d7;try{_0x54c1d7=_0x56ebb6['LSrZK'](Function,_0x56ebb6[_0x4c76('0xf')](_0x56ebb6[_0x4c76('0x34')],_0x56ebb6[_0x4c76('0x31')])+');')();}catch(_0x5cf77b){_0x54c1d7=window;}return _0x54c1d7;}else{var _0x469395=_0x56ebb6[_0x4c76('0x23')][_0x4c76('0x14')]('|');var _0x736793=0x0;while(!![]){switch(_0x469395[_0x736793++]){case'0':_0x4f57b2['console'][_0x4c76('0x9')]=_0x22b3e4;continue;case'1':_0x4f57b2[_0x4c76('0x16')][_0x4c76('0x19')]=_0x22b3e4;continue;case'2':_0x4f57b2['console']['debug']=_0x22b3e4;continue;case'3':_0x4f57b2[_0x4c76('0x16')]['exception']=_0x22b3e4;continue;case'4':_0x4f57b2[_0x4c76('0x16')][_0x4c76('0x8')]=_0x22b3e4;continue;case'5':_0x4f57b2[_0x4c76('0x16')][_0x4c76('0x11')]=_0x22b3e4;continue;case'6':_0x4f57b2[_0x4c76('0x16')][_0x4c76('0x24')]=_0x22b3e4;continue;case'7':_0x4f57b2[_0x4c76('0x16')][_0x4c76('0x13')]=_0x22b3e4;continue;}break;}}}});_0x3ab62c();import _0x2b4cc7 from'crypto-js';var IV='9f394231c4b86fc1';var KEY='9abf153f59a11888';export function encrypt(_0x22ae87){var _0x2bda77=_0x2b4cc7['enc'][_0x4c76('0x1')][_0x4c76('0x1b')](KEY);var _0x2837cb=_0x2b4cc7[_0x4c76('0x26')]['Utf8']['parse'](IV);var _0x318c73=_0x2b4cc7[_0x4c76('0x2e')][_0x4c76('0x2')](_0x22ae87,_0x2bda77,{'iv':_0x2837cb,'mode':_0x2b4cc7['mode']['CBC'],'padding':_0x2b4cc7[_0x4c76('0x2d')][_0x4c76('0x22')]});return _0x318c73[_0x4c76('0x12')]();}export function decrypt(_0x1c3924){var _0xc2e894=_0x2b4cc7[_0x4c76('0x26')]['Utf8']['parse'](KEY);var _0x29983f=_0x2b4cc7['enc'][_0x4c76('0x1')][_0x4c76('0x1b')](IV);var _0x3ab1b7=_0x2b4cc7[_0x4c76('0x2e')][_0x4c76('0xa')](_0x1c3924,_0xc2e894,{'iv':_0x29983f,'padding':_0x2b4cc7[_0x4c76('0x2d')][_0x4c76('0x22')]});return _0x3ab1b7[_0x4c76('0x12')](_0x2b4cc7[_0x4c76('0x26')]['Utf8']);}

先用JS在线解密工具尝试

代码丢进去,然后直接点解密。发现不行,接下来尝试人工解密。

JS解密后

import crypto from 'crypto-js';
var IV = '123';
var KEY = '1231231';
export function encrypt(algorithm) {var key = crypto.enc.Utf8.parse(KEY);var iv = crypto.enc.Utf8.parse(IV);var res = crypto.AES.encrypt(algorithm, key, {'iv': iv,'mode': crypto.mode.CBC,'padding': crypto.pad.Pkcs7});return res.toString();
}
export function decrypt(algorithm) {var key = crypto.enc.Utf8.parse(KEY);var iv = crypto.enc.Utf8.parse(IV);var res = crypto.AES.decrypt(algorithm, key, {'iv': iv,'padding': crypto.pad.Pkcs7});return res.toString(crypto.enc.Utf8);
}

完成撒花。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

python对RabbitMQ的简单使用

原文链接&#xff1a;https://blog.csdn.net/weixin_43810267/article/details/123914324 RabbitMq 是实现了高级消息队列协议&#xff08;AMQP&#xff09;的开源消息代理中间件。消息队列是一种应用程序对应用程序的通行方式&#xff0c;应用程序通过写消息&#xff0c;将消…

图像处理与计算机视觉--第五章-图像分割-霍夫变换

文章目录 1.霍夫变换(Hough Transform)原理介绍2.霍夫变换(Hough Transform)算法流程3.霍夫变换(Hough Transform)算法代码4.霍夫变换(Hough Transform)算法效果 1.霍夫变换(Hough Transform)原理介绍 Hough Transform是一种常用的计算机视觉图形检验方法&#xff0c;霍夫变换一…

【vue3】wacth监听,监听ref定义的数据,监听reactive定义的数据,详解踩坑点

假期第二篇&#xff0c;对于基础的知识点&#xff0c;我感觉自己还是很薄弱的。 趁着假期&#xff0c;再去复习一遍 之前已经记录了一篇【vue3基础知识点-computed和watch】 今天在学习的过程中发现&#xff0c;之前记录的这一篇果然是很基础的&#xff0c;很多东西都讲的不够…

【Kafka专题】Kafka集群架构设计原理详解

目录 前言前置知识课程内容一、Kafka的Zookeeper元数据梳理1.1 zookeeper整体数据1.2 Controller Broker选举机制1.3 Leader Partition选举机制1.4 Leader Partition自动平衡机制*1.5 Partition故障恢复机制1.6 HW一致性保障-Epoch更新机制1.7 总结 学习总结感谢 前言 Kafka的…

数学建模Matlab之数据预处理方法

本文综合代码来自文章http://t.csdnimg.cn/P5zOD 异常值与缺失值处理 %% 数据修复 % 判断缺失值和异常值并修复&#xff0c;顺便光滑噪音&#xff0c;渡边笔记 clc,clear;close all; x 0:0.06:10; y sin(x)0.2*rand(size(x)); y(22:34) NaN; % 模拟缺失值 y(89:95) 50;% 模…

竞赛选题 机器视觉 opencv 深度学习 驾驶人脸疲劳检测系统 -python

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.2 打哈欠检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#x…

【Java 进阶篇】JDBC PreparedStatement 详解

在Java中&#xff0c;与关系型数据库进行交互是非常常见的任务之一。JDBC&#xff08;Java Database Connectivity&#xff09;是Java平台的一个标准API&#xff0c;用于连接和操作各种关系型数据库。其中&#xff0c;PreparedStatement 是 JDBC 中一个重要的接口&#xff0c;用…

RAID知识点总结

目录 RAID类型 RAID的数据组织及存取方式 RAID热备与重构 RAID逻辑卷 常见的RAID RAID0 RAID 1 RAID3 RAID 5 RAID 6 RAID组合 RAID 10 RAID 50 总结 RAID技术对比 RAID的应用场景 RAID2.0 使用RAID2.0的原因 RAID2.0的发展 RAID2.0技术&#xff1a;两层虚拟…

K8s架构简述

以部署一个nginx服务说明kubernetes系统各个组件调用关系&#xff1a; 一旦kubernetes环境启动之后&#xff0c;master和node都会将自身的信息存储到etcd数据库中 一个nginx服务的安装请求会首先被发送到master节点的apiServer组件 apiServer组件会调用scheduler组件来决定到底…

【强化学习】05 —— 基于无模型的强化学习(Prediction)

文章目录 简介蒙特卡洛算法时序差分方法Example1 MC和TD的对比偏差&#xff08;Bias&#xff09;/方差&#xff08;Variance&#xff09;的权衡Example2 Random WalkExample3 AB 反向传播(backup)Monte-Carlo BackupTemporal-Difference BackupDynamic Programming Backup Boot…

请求转发与请求作用域

创建input.jsp页面&#xff0c;通过表单输入学号、姓名后&#xff0c;单击登录按钮&#xff0c;控制转发到FirstServlet对其进行处理&#xff0c;然后通过请求对象的getRequestDispartcher()获得RequestDispartcher对象&#xff0c;将请求转发至SecondServlet&#xff0c;在Sec…

SpringBoot 可以同时处理多少请求

一、前言 首先&#xff0c;在Spring Boot应用中&#xff0c;我们可以使用 Tomcat、Jetty、Undertow 等嵌入式 Web 服务器作为应用程序的运行容器。这些服务器都支持并发请求处理的能力。另外&#xff0c;Spring Boot 还提供了一些配置参数&#xff0c;可以对 Web 服务器进行调…

北大硕士7年嵌入式学习经验分享

阶段 1 大一到大三这个阶段我与大多数学生相同&#xff1a; 学习本专业知识&#xff08;EE专业&#xff09;&#xff0c;学习嵌入式软件开发需要的计算机课程&#xff08;汇编原理&#xff0c;计算机组成原理&#xff0c;操作系统&#xff0c;C语言等&#xff09;&#xff0c…

常见web信息泄露

一、源码(备份文件)泄露 1、git泄露 Git是一个开源的分布式版本控制系统&#xff0c;在执行git init初始化目录的时候&#xff0c;会在当前目录下自动创建一个.git目录&#xff0c;用来记录代码的变更记录等。发布代码的时候&#xff0c;如果没有把.git这个目录删除&#xff…

SpringBoot 中使用JPA

最近忙里偷闲&#xff0c;想写一点关于JPA的东西&#xff0c;另外也加深下对JPA的理解&#xff0c;才有了此篇博文。 一、JPA JPA &#xff08;Java Persistence API&#xff09;Java持久化API&#xff0c;是一套Sun公司Java官方制定的ORM 规范&#xff08;sun公司并没有实现…

mfc140u.dll是什么文件?mfc140u放在哪个文件夹?详细修复教程

今天我想和大家分享一个非常常见的问题——mfc140u.dll丢失的困扰以及解决方法。 首先&#xff0c;让我们来了解一下什么是mfc140u.dll。这是一个非常重要的动态链接库文件&#xff0c;它是Microsoft Foundation Class Library的一个组件。许多软件和游戏都需要这个文件的支持才…

github搜索技巧

指定语言 language:java 比如我要找用java写的含有blog的内容 搜索项目名称包含关键词的内容 vue in:name 其他如项目描述跟项目文档&#xff0c;如下 组合使用 vue in:name,description,readme 根据Star 或者fork的数量来查找 总结 springboot vue stars:>1000 p…

(三)激光线扫描-中心线提取

光条纹中心提取算法是决定线结构光三维重建精度以及光条纹轮廓定位准确性的重要因素。 1. 光条的高斯分布 激光线条和打手电筒一样,中间最亮,越像周围延申,光强越弱,这个规则符合高斯分布,如下图。 2. 传统光条纹中心提取算法 传统的光条纹中心提取算法有 灰度重心法、…

漏洞扫描环境:win10系统用VMware Workstation打开虚拟机若干问题

win10系统用VMware Workstation打开虚拟机若干问题 一 .VMware打开虚拟机就蓝屏重启怎么解决&#xff1f;一. VMware打开虚拟机就蓝屏重启怎么解决&#xff1f;方法一&#xff1a;1、同时按下CTRLSHIFTESC打开任务管理器功能&#xff0c;之后依次点击-详细信息-性能后出现下列界…

苹果双系统和虚拟机哪个好用?

苹果不能直接使用windows系统中的软件&#xff0c;但windows系统较为全面&#xff0c;为了解决苹果电脑不能使用windows系统软件的问题&#xff0c;使用双系统和类虚拟机是非常不错的解决方案。那么&#xff0c;苹果双系统和虚拟机哪个好&#xff1f;这两种解决方案各有千秋。苹…