我们所认为的很多问题,包括很多烦恼,都是专注力不够引起的,只要进行专注力训练,让自己不再杂念纷飞,能安心地做好眼前的事情,那些所谓的烦恼和忧虑就不会出现。
——雪漠《老子的心事》第三辑
昨天晚上虽然还是十一点半以后休息的,不过五点钟早起,今天一天也觉得是能量充足的。不要沾沾自喜啊,一天一天的,自强不息。快乐=专注,只要专注在当下,这种积极的状态就是快乐的。
慢慢精力恢复好,就要在专业方面下功夫努力,提升自己的能力,这一年的工作状态都不是很好,缺少一种持续专注的状态。不过,一切会变好的。当我一直这样想,一直朝这方面期待,就如愿了,这些天,过去觉得复杂的事情也变得简单起来了,状态的变化,原来许多时候精力都在散乱的状态中耗掉了。
今天开会时候,发现同事懂得很多,说明人家用脑子在思考,做好基本工作之外有拓展学习,有对专业相关的许多技术的全面理解,而以前的我也会在各方面涉猎,也有那种觉得无所不能的状态,别管是不是真的无所不能,但那种状态很好,不会畏难,遇到问题之会想着一定能解决,然后也就真的能解决。后来怎么变成一种被动的状态了,这种感觉不好。我干嘛去了?这一年的工作,常常不在状态,因为不能专注就把时间浪费了。工作做的不是很理想。
今天解决一个问题,挺开心的。问题是这样的,后端提供了从excel原文件提取到工作表保护的加密后的数据,盐值以及一个叫spincount的数据。我如何在把excel导入为在线表格后输入正确的密码验证通过呢?
对于这块的加密验证如何实现?
思路很简单,因为采用的密码是不可逆的hash,就是拿到这些数据,按照跟excel一致的算法流程前端文件JS实现一版,然后传这些提供的参数,得到一个结果,我们自己系统中输入的密码作为参数进行加密。
检查结果与后端传过来的加密后的数据是否一致。一致的话,就是密码验证通过。这里面用到的hmac就是hash+mac,也就是可指定算法名,比如excel这里用的sha512。
然后,sha512分为加盐值的,不加盐值的。原先的在线表格代码中,这个地方用的是把盐值作为参数的,其实是错的,但是盐值在这里既然给了,应该是用到的,只是不是作为其中一个参数。在看后端Golang excelize的这块工作表保护的代码之前,并不清楚这些。怎么验证加密出来的东西都跟后端传过来的不一致。
看了Golang的这块源码之后,发现现在前端这样简单的加密是不对的,虽然知道要按照同样的算法流程,实现一版JS版的,但是能不能写成通过是未知的,理论上是可以的。首先还是搜了一下看有没有现成的,但是没有找到。最后自己写吧,只要加密的流程是确定了,换什么语言写都是最终会得到一致的结果的。只不过找到要用到的那些函数对应的实现。其实并不难,充分用到NodeJS里面Buffer类。大体步骤如下:
从base64的盐值转到buffer byte数据。
输入的密码值拿到ucs2编码的 byte数据到Buffer。
用Buffer类提供的拼接函数把盐值和密码这俩拼接一下,得到的一个初始的key。
接下来,执行hmac加密算法(不带盐值)传入上面的参数,以及算法名称。得到一个初始的key值。然后,spincount次数的循环,里面会把当前count写为latin2 byte数据,生成一个值。
在上面的循环中是会把上面这个值以及当前的key值作为参数再做hmac加密得到新的key。
最后再把这个key值base64编码,就是加密后的数据。
以上就是excel工作表保护的算法流程逻辑。手机打字按记忆描述的,回头补一下代码照片。
JS代码同样的流程编码实现之后,最后验证是OK的,加密结果,和后端从excel文件提取出来的是一致的。这时候我在在线表格中输入excel原文件设置的工作表保护的密码,密码通过了。另外允许编辑区域的密码设置,应该也是同样的。
My husband is out drinking again,tears gushed from my eyes.
The pain of the past reappears in my heart.The past years are like dreams and bubbles.
Can I walk out of this dream?I hope that the days will be quiet and peaceful.Is this an extravagant hope?
I don't want to repeat the past days.Stop crying and do something that makes me better.
过去的就让它过去吧,新的日子无时不刻不是在更新,你过去可能会无数次让妄念左右你。但现在,虽然也有波澜,觉得再沉溺其中,是没有意义的,活着当然有更值得的事情。
美好时光,就是需要一个念头的转变,当下的清净,祥和,安宁,富足,充满力量。不要在早晨时候还充满力量,因为一点小事就放弃了当下而陷入妄念中,让美好的一天,不能好好收尾,我不想要片刻的欢乐,想有长久的安宁、平静和祥和,持续的,不会因为什么而改变的,那就自己营造吧!
心灵家园,栖息之所,不需要外界或者某个人那里去寻求,因为终将会走向失望,失落的死胡同,而其实不去寻求,回归自心这里来,才有广阔的天地,无所不纳,没有冲突,没有不安,没有担忧,没有那些夸张的情绪,起伏的念头,只有明明朗朗的真心在那里守候。你方知道,没有什么人什么事能伤害到你,许多妄想都是不堪一击的纸老虎。停下来,读读有益身心的书,另外学习一些技能。让自己在这个时代活的好一点,为什么不呢?总在说,这也不需要,那也不需要,总在顺应,那还有什么难以忍受的,有哪些是要由自己来主导的,有什么需要摆脱的?
说,需要!我命由我不由天。
![](https://img.haomeiwen.com/i27875653/5c60ca981a1bb1b7.jpg)
![](https://img.haomeiwen.com/i27875653/f746b77b45fe3e54.jpg)
![](https://img.haomeiwen.com/i27875653/d8628a26d3c1fd7d.jpg)
![](https://img.haomeiwen.com/i27875653/5da572d9c5d4bd07.png)
![](https://img.haomeiwen.com/i27875653/0a8f5db4b9b43e9a.jpg)
网友评论