这个是怎么加密的啊?厂家说是 DES 加密,试了半天没搞出来 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bwd1991
V2EX    问与答

这个是怎么加密的啊?厂家说是 DES 加密,试了半天没搞出来

  •  
  •   bwd1991 2020-08-31 11:28:28 +08:00 2513 次点击
    这是一个创建于 1868 天前的主题,其中的信息可能已经有所发展或是发生改变。
    密文 35454f6c44397230456e566c36453064654b71726444736671373272305a4e41764c2f454134594d597154314930775356354361575576527771716276454b424466733534345045396c3837704577472f5479466646466948756936724f71364d66417353426d56366b7a434f4d6c6b2f384f735876615032553976756e2b797974735a43737543366a5a494f535453544e556343777a577846614171634d526b68776d597658546c3750746e6574384f39663771336c635836335655394e6f6f6c58706d6f613975703752416a334d616d73623943496948674c49752b545932526661645a334a7452726b465932737a3349365a767a6f7345444c42383937716d684f39756349576248597772537369466f4936756862383961706f61487174357a4e732b3849567a41796c7a732f41764e674854567a776953527643783766455a6c595a374c6c3732764862394b332f78564f6d62466d4b79313472664e443175356456626d6f32435653726c54776b4c4d4e324168334c2b4c576b6f776c45623652766476356133316f4d75394f5a543430515158567535426a3835516e58554b54666d56484e5964734a784764584f5552552f4634747946587a5446735a747654662b69662b50446a30385a65696b2f5348466f5868416e6139546b7052574f52315a74414b5a32796a6f72665450557251326b6545304a65576842574c4d4f61614d2b544b4d585267785536484f596b47364130676f59714b566e45356b6a4b51634f794c2f6466544b6274466e7a494a556758724649336b6442507845454a6248432b4e51676253384c6b5230367570346e564c4e2f776d47795a62535936476c46796c7878745436594377796c624866707331613659455449316e6b756d747330706a384a307067535a4d7535766c7a66572f776a66704a7249334a686c724372586372304a30705046512f4d64446e324269596d70336342342b7768704a41775a7a51366753424677777a7579306d534c556d476f50782b6c7a782f352f4e6978486e42307165475163523751746e684c4431686e304a383257625a354663687a6355784454415050434f686f316c7a63503359757542547a674a45684b37684a4235636279762f2f30472b494d7171542b64583659414f624d4e2b4875444f5364674d334d4c4a5847503675516b5342356d38537161557659316251646a6b516176622f726e3436532b58616c685679616473486164367a706a517270364350363761532b4c3679452b594c2f55436d69796c76617253344d74377a68696631666256334c394e2b462b574b30726f62723770524f6a64764730475a59356973444e677a666b6a7375787841364779552b7a4c317759626d7a464a71434e4976687268427841636c615a72632f694d2b4c4651625833465645467659356b744e462f743078624e5274734f6356677a464c4474477a6d376b6e305656337347414b486e4b6b4f316472734c724c4168793468316248394532424a7651745676597377736c76725259737653544666533059725559472b594d67596d426551366e793847695359444a4d7656744d4c744c545a6e36546146584a54467369654b7a3852513469343349736c3546337547655447426a5376355337666839446956774d755a776f756132652b734a334d50624e4e3455674539382f4b6630687671426c5166666c53592b56594242322b6b586563454e634c66646467574a4a716f4f682b37344d433650684a55526c684f586c4d7a702f79734370777a56794a754d484c39484e595979364f746f69364f63303878654b4a756a4c694e6d43695a3564324c765952786d30562b683674455a6b6e327a497179416a5a362b4d30746e6a50634744385876415335764853714d5244342b6d464f614b4c77434f2b6332504a3263516c44713970423146674e6674663579333237512b494d50416256594e31665972704474585a462b495a4a4830346f49624766503134642b6b4f37373575566c58774e3034444172636e50676c7576333347365861334c7138356c4f635972474a6b326e756d344b5a3656483971787679452b513839494b6e636375656e6b30523970522f59672f63503451584b4c6a37485a3165466b697a6f3938766a4e6f73396c62494c5661535979524866424462343247537351435737646d704a442b556a69443675515249426645674e4f47795a6d6e75596e63594d3559486d4b6f4c564262355754707a65416b3472385a7856546e54384b35467a375375394661314e54796b666a6b67386c536b627032364167546558556a686252304d414736306d4e4d664c71506731534b6c39723479733446304d4749624c764d516e2b306d49505166497a7870554b733854562b6b427761422b3437756665346a3439576b51476d737a65534d632f3770353070714b48655a65686130464533702b702f6665724e464d6c6851487267316b5a33363769536747476170784f4e7164347a635671384b4a4d384a376b37554767444457754a62575341696d34642b495a36693233413463352b45394f6c667a305a52544f636e734c6d41586b426870354569775a707259734d6255756d6668736e556655545873664e7053454c414f594b4865394342394a72773953774530426f33306f685a436e37454e6c4a2b756e415737416c7859334e41724863312f465779636c7134423648396d5445334b4349656b746a37564550417a52595347713456476e42796863616f32552b5467726b4f4d6e2b6471306a534f6149642b6e364b4a4f66764a717964696649703067466a395268392b32616e75746e795a364c68773864706a7562474639443448335044386c6a7254394d5132544159686f717879393655445a4e6a4376716e6173594e6b492b6a6757464159707338765875347a4b745a77716453475150645630484775694970452f674a643132356e445a576848655658623039345076474c64656b6465366473342f2f2b3051546e4a48432b49664e2b525131504c57554a44335643304264414a6a5467377a337466582b444f677a374634646e33696e41546e53767941346e3130776f422f7769666159554e6b367878596f75575831343736644a65696b7345376d5274735063516c5365795a354c346d6e706d493872417932444e5a4437357a6a394b62627a4c7a32784a307349717834764647456f7a57706650557470525144554a5639634c775731434376544c5638437978684f622b4d564555657a3068433270786934376e44756169555353624f77454c2b57796446624441374c2b3664346875354c4a76395444743656313672486e57496650567837575a48706649773332375930716562775261663350654c4a734b6c556e4b2b794c76717441734c6f35714862727a753066522f59417752614679756851706c39577072703869316e77654459716e613062375356314e5134415231386b315836636e4c704e6246314a2b6f386b52347835674253483043304c4a74424274614e6f5745486e5444566c7430624d772b4c73677a704b5773487a38737046565268545074486f75615a7268457036765645564c2f354b464843654272554d496936414e6c33746a6853516e5747746f71503343514c6f663333352b362f6a5465376c50722f466e6244775a744c39586962774251646a487256414979385279346b616c6b417730456558624258714e597373447a497344626f33566c3734424c486a644e734673306c6144482b4f317a41325a6449737157764b51596b6e75513362736b74654a7150745971454850534c7167707474366b4571344d4871422b3168326e7276676d56377374747233384c4231384f436c2f5354584f794b343372425141516e516e72415a49506e31775753616c2b644e66704175502f4c7658303761482f50474b556a6e53356d4d4c2b636578704c5065654b7076594148726b64543630647242387674634b365944574c3450305151352b685839445766676d4853704c414463356f63675772486570433233507377636d596355707a566d34476c643176467631594358486234344a366964683663647561656f3141367547736630696f7270684f3279386732686b6c6169537a6e77585036485a796c67735a453076774c7a79742b496c6d5a762f4e62394a5962465758486d306d43464f7278337172645063753169764f7465534d5233304f6d5164523244664e6e652f396c645445384949564c4970395847712b76497a306e7457424a426e4f34367a54416435752f51496b6d68345753424571374f4a6d4f6251683659784e42572f5476792b55524143394b354270585635782f4359544a32353843746477592f745177696c37763258316c4e7952534f65416e6f774d356741595469365256663668444938353631344d324e58326b58635639675158397078544b47696a5535306f75744b68514d453148546f5952772b444467336731663849346c4270325632666163316b5042722b2b79344b323666367532684e3852357743516b325a54475437397647794b2f6d326b5670626264694532336b36574f67756f7455433361554b463030665269687544346f6c574262316e5070306f4f4a5a484851706e52436f772b53496f32335273703876737573716a6c7447613066346438656d4b4e37453332776e534363346f3861524a6453655839373534654975314c3878646e624e556d6c6c75484e6732324e64363441564e59672f5274755368505339444e39503837702b496d5649676154586b5132525857655a75626b2b4b6869456d7570333268794d2f626457756e7a4a2f6150334c643552676338324d35354c3875614c544b724a717763343154654f49353278644a5a4859365a4563395950703839502f417153574976592f4761536c4551673141435466553548636c3431656f6544304e2b784833507257746e43665a423572464d777459424a5a6e5932426656615a314a4d7358646344356b33724c6142744c7949627a356751436c6d6630574763474e4d4751636b686d3453516d66382b4e705779303169516448394d4e4f4774426c4343612f506853336349645a73594841302b576e7a79482f4f4e4b5a7672593248574877327a344f4c312b70322b492f3842385a66706c34494c705352316e50364b55354370584658722b706e395179584178496771564742434375697a513559594941646d684548464a6d4566546c52344b51464d55483463707672336959504b567732395a5a795838644f5970652f505645705267693162314e7145385a65455241584e6a2b59333550464c63364c433658674363557839637a5a6835452b644b5a55458387041385575466c62505a6c4154414f47794f596839464935626d6b6d352b6c475667423531494d56767030394961395634554131504c496e7152584a673450667a394246504b4458734a7a5a58363567314a3547645a7276562b6341774447695035536c6c556643754b4d77423148665155685a6e5474386c2f6e584639735848676f586b43334c504e45706643625934692f6b653248315667477a336b58714c642f4a7679333856536942494c634435754679556a6330625844494769704f2b5638362b796e2f6d4a6a486973696374796c337a6f6e676a73556f726959646a4b37744e445563365761526e6e736352744e4e68376258684169694744586877727166787457496e466e616c69554350686d4d47316e5034656445435438545852366b477856754d6675464d467856586c4f4d304a4b615062693145356f33357845325675394442552b704552755235673078374477787065584d52344f56564b4c3372505775716c48696b59425a63794a507a7071667566797a6c484368436e2f455349416e6d56427730715363474e3173634234714745417265657a43495631717268473761556b5763395672657131735a79564f565741687133766f42723378357a364b616c742b6d3978705548623074636630766e38324249707a504f4e3833592b6d3851636f576745723879574c333871796d4e5a795877436546454b3533485779736138494f36416478584b49565255644670357066546a2b6d4a6231653834693762526f5138593963424d69307274484b376b596c365a674b4d6f552f44432b646d546b564f57714e395173303239633935435963695242566b504a424a43624254326a595366795046635a594e634c596b615855516e79366e7743317652546e5243656c4257316179393053636841306d35424b4d70467932724b586c4c7353396741344b2b67795442346c7733484d6d6146504c7464657a6c3451694e2b497847702b533553383862686364484d715042644b324f4e4747774a574b47562f77724b52374165507375697a362b4151484f76774c75335047486b50726d646430495a6b72732b686558444874334a4a657662414a733637423030745a6b736c3373564a7046494b78434f2b6e6557434a366c725837585150466a476a2b574649484b35747347434f37617a3451386a394659614a7757704d58734662672f673569756f3253436541796e74354148506444707578354a67684249596442492b314b526b616c5a5155512b43614e39562f4d7858542b51476347646348344c4c797164355a346c61325347744b6a6f4a636a564463413457764f37445233546a38394f3667644d6b4163667544555330442b444c704c592b52392b6a6a6b736c5a2f73356a696b3661746135682b7a565a334c47556e4c384c73664a6672347157597878564777702f454a45655a654c7a3770454a612f655767327243686d5a5536456757516954386648673237677a72386b763355346770366a5258766a7a73664542303832664b4f656a57643551754d4c517a4e69397443506b6346334a4c3770396c44695968454c6652457234383869614c572f3670344155322b6e48644e4c46772f2f6857506e4a674b4a6544696c354f4133567a75702b6c6d48696a2f716636713732447a666e6464483042436241614162533165792b4f524a4f5742736b2f4254653963724b45697565734842315963674d3533504e653634722b37324374535761483237654b6564334877704c6f3344554e6c35463342704c54685a706a585657645273397076304f5a7864544d707a37636c68496c4d777338464648326330456e387a4a4c7a36665871682b49777a3771647a393863505378702b414c7334664c556f486c4d5238734a376b4c4a766f307a5738684e5479797751583277636e6d4a63366a42684668444c5331514b53693250797362614c6d7545674477716a46464a7a616b35416b363174706358504e41365073575939654f77496458647156336e50726c4e56506c5562674d536a6f677750784d6b2b62324741747655345a4a513442624e4a702f742f6a4e47545039496576414f6761655076582f4e4b4974766b6c795171396832596e4a376238596975427861316d63444e6961735a50314748674651796c2f64667a586362545157372f4d77326d63326a4b4777644d50316b5734446b617576497265705945487856626e52304f343636657253767758646a776a6e79615a79655237504b6e4a55544643614f646936693163776d547a64617a31464879584d656b35434553447757727131477a3157463648432b35526271615176723362385172504b525355596d694832676f7171717874716761634537744f393175636367716a6d566e75503662644958366e3130684f6334794e415639306a4c45577762564e5639336a6165696e35386d59506c32516d613361716579366d42596e43702b796c6a32397561696a4d5950692b773559775a536a4e504f35366e347968683345524433464d5033526e4a5a6c6357615a646a7979454542442f34464e6e4867344161367278456b346f53746e2f592b6266477137364f714a4a42503055496d68302b622b53653777306c47424e764d7550645761714937696e5034436b44524e2f37436b723664726443307439674f673d

    秘钥 lsl123456
    8 条回复    2020-09-01 09:53:35 +08:00
    wakzz
        1
    wakzz  
       2020-08-31 11:42:31 +08:00   1
    这年头还用 DES,这算法已经标记为不安全了。
    只有秘钥没有初始向量的话,那估计是 DES-ECB 加密算法了。而且 DES 的合法秘钥长度是 8 字节,你这个 9 字节的秘钥肯定是不对的。
    让厂家给个代码 demo,或者直接给个 OpenSSL 命令 demo 。怀疑厂家提供的密钥并不是真正的密钥,还需要其他算法例如 JDK 的 SecureRandom 把初始密钥计算成参与加密算法的真正 8 字节长度密钥。
    bwd1991
        2
    bwd1991  
    OP
       2020-08-31 14:01:49 +08:00
    @wakzz 我找了几个方法都不行 厂家就个实施让我自己试 我找了几个在线的都是生成带特殊符号的 他这个是怎么做的啊 原文就是个 json 有思路吗
    javashell
        3
    javashell  
       2020-08-31 14:15:32 +08:00 via Android   1
    {"prescription":[{"delnum":"","hospital_name":"兰溪市中医院","pspnum":"1001373570","name":"胡美珍",sex":2,"age":64,"phone":"15167972589","address":"浙江省兰溪市桥头大丰大报亭(大丰大边上)","department":"","inpatientarea":"","Ward":"","Sickbed":"","diagresult":"结缔组织病、无并发症","dose":7,"takenum":2,"getdrugtime":"dhySYSTEM","getdrugnum":0,"decscheme":21,"oncetime":"dhySYSTEM","twicetime":"dhySYSTEM","packagenum":200,"dotime":"dhySYSTEM","doperson":"X488","dtbcompany":"胡美珍","dtbaddress":"浙江省兰溪市桥头大丰大报亭(大丰大边上)","dtbphone":"15167972589","dtbtype":4,"soakwater":"dhySYSTEM","soaktime":30,"labelnum":0,"remark":"","doctor":"G014","footnote":"","ordertime":"dhySYSTEM","curstate":"","decmothed":"dhySYSTEM","takeway":"dhySYSTEM","takemethod":"内服","remarkA":"","remarkB":"","drug_count":"18","isDaijian":"dhySYSTEM","payment":"","Yizhu":"","money":"","outpatientNumber":"B25760375","outpatientIndex":"12448144","ptype":"dhySYSTEM"}],"drug":[{"drugnum":"44910","drugname":"郁金 1g","drugposition":"1g","drugallnum":10,"drugdescription":"","tienum":2,"drugweight":70,"description":"","retailprice":"0.0983","unit":"g"},{"drugnum":"43808","drugname":"炒白芍 1g","drugposition":"1g","drugallnum":10,"drugdescription":"","tienum":2,"drugweight":70,"description":"","retailprice":"0.1243","unit":"g"},{"drugnum":"45585","drugname":"熟地 1g","drugposition":"1g","drugallnum":10,"drugdescription":"","tienum":2,"drugweight":70,"description":"","retailprice":"0.085","unit":"g"},{"drugnum":"45344","drugname":"山药(复方) 1g","drugposition":"1g","drugallnum":12,"drugdescription":"","tienum":2,"drugweight":84,"description":"","retailprice":"0.061","unit":"g"},{"drugnum":"44854","drugname":"枸杞子(复方) 1g","drugposition":"1g","drugallnum":10,"drugdescription":"","tienum":2,"drugweight":70,"description":"","retailprice":"0.2204","unit":"g"},{"drugnum":"44806","drugname":"覆盆子 1g","drugposition":"1g","drugallnum":6,"drugdescription":"","tienum":2,"drugweight":42,"description":"","retailprice":"0.3591","unit":"g"},{"drugnum":"45547","drugname":"太子参 1g","drugposition":"1g","drugallnum":12,"drugdescription":"","tienum":2,"drugweight":84,"description":"","retailprice":"0.351","unit":"g"},{"drugnum":"45763","drugname":"蜜黄芪(复方) 1g","drugposition":"1g","drugallnum":12,"drugdescription":"","tienum":2,"drugweight":84,"description":"","retailprice":"0.1161","unit":"g"},{"drugnum":"45757","drugname":"蜜甘草(复方) 1g","drugposition":"1g","drugallnum":6,"drugdescription":"","tienum":2,"drugweight":42,"description":"","retailprice":"0.1215","unit":"g"},{"drugnum":"45805","drugname":"桑椹(复方) 1g","drugposition":"1g","drugallnum":10,"drugdescription":"","tienum":2,"drugweight":70,"description":"","retailprice":"0.223","unit":"g"},{"drugnum":"44980","drugname":"盐杜仲 1g","drugposition":"1g","drugallnum":10,"drugdescription":"","tienum":2,"drugweight":70,"description":"","retailprice":"0.072","unit":"g"},{"drugnum":"45677","drugname":"路路通 1g","drugposition":"1g","drugallnum":10,"drugdescription":"","tienum":2,"drugweight":70,"description":"","retailprice":"0.0361","unit":"g"},{"drugnum":"45665","drugname":"鹿角片 1g","drugposition":"1g","drugallnum":6,"drugdescription":"","tienum":2,"drugweight":42,"description":"","retailprice":"1.08","unit":"g"},{"drugnum":"45405","drugname":"仙灵脾 1g","drugposition":"1g","drugallnum":10,"drugdescription":"","tienum":2,"drugweight":70,"description":"","retailprice":"0.1307","unit":"g"},{"drugnum":"45735","drugname":"玫瑰花 1g","drugposition":"1g","drugallnum":10,"drugdescription":"","tienum":2,"drugweight":70,"description":"","retailprice":"0.1978","unit":"g"},{"drugnum":"45793","drugname":"砂仁(复方) 1g","drugposition":"1g","drugallnum":4,"drugdescription":"后下","tienum":2,"drugweight":28,"description":"","retailprice":"1.215","unit":"g"},{"drugnum":"45437","drugname":"五味子 1g","drugposition":"1g","drugallnum":8,"drugdescription":"","tienum":2,"drugweight":56,"description":"","retailprice":"0.7493","unit":"g"},{"drugnum":"43834","drugname":"车前子(包) 1g","drugposition":"1g","drugallnum":12,"drugdescription":"包煎","tienum":2,"drugweight":84,"description":"","retailprice":"0.182","unit":"g"}]}
    bwd1991
        4
    bwd1991  
    OP
       2020-08-31 16:03:23 +08:00
    @javashell 这个是怎么加密的啊 能给段代码吗?
    javashell
        5
    javashell  
       2020-08-31 16:10:31 +08:00 via Android
    @bwd1991 des 的 cbc 模式,密钥和向量都是同一个,http://tool.chacuo.net/cryptdes 就可以解
    bwd1991
        6
    bwd1991  
    OP
       2020-08-31 16:27:40 +08:00
    @javashell 我试了下只出现一个 j 啊 还需要配置什么吗 ? DES 加密模式: CBC
    填充: zeropadding
    密码: lsl123456
    偏移量: lsl123456
    输出: base64 字符集:
    javashell
        7
    javashell  
       2020-08-31 16:53:20 +08:00 via Android
    先把密文 hex 转成 strings 然后我填充选的是 pkcs5
    aurthur
        8
    aurthur  
       2020-09-01 09:53:35 +08:00
    理论解释:
    - 密码:确认加密模式是 DES-CBC 的话,那么你的密钥长度肯定不对,只需要 8 位,尝试去掉最后一位好了(很多加密算法实现时密钥长度超出默认只用前 8 位,并不报错),所以 **密码 = lsl12345**
    - 偏移量:这里厂家未告知你偏移量,默认就用密码(这也是算法实现时的毛病),所以 **偏移量 = lsl12345**
    - 再来确认密文组:对于 DES-CBC 加密模式来说,数据加密后模式是多组 64 位长度的密文块,这时候你的密文要存在数据库里一般会把它转成字符串存进去。
    - 这时候 密文块 到 字符串 一般使用两种方式,要么 toHex,要么 toBase64
    - 这里看密文是 hex 模式,我尝试了一下,直接反解是失败的
    - 根据上面老哥提示,我将密文先从 hexToString 尝试了一下,得到一串字符串,一看就是 Base64 自符
    - 故知:**厂家是将密文组 先 toBase64,再 toHex,这时候我们依次先 hexToString 一下,再将 Base64ToByte 一下得到密文组**
    - 填充模式:这里选 **pkcs5**,其实用的是标准算法是无所谓的
    - 解密即可得到你要的数据了

    代码实战(我这里是 Golang ),你自己根据上面理论套一下就可以了

    ![Imgur]( )

    你也可以使用在线工具试一下: https://www.ssleye.com/des_cipher.html

    ![Imgur]( )
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5877 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 01:54 PVG 09:54 LAX 18:54 JFK 21:54
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86