永发信息网

如何验证 oauth 2.0 token是否有效

答案:2  悬赏:50  手机版
解决时间 2021-01-31 18:03
如何验证 oauth 2.0 token是否有效
最佳答案
这些都是发生在服务器端的交互,如果被窃取了可想你的服务器已经不安全了,不过也没有关系,一个加密的openid对谁来说都没有意义。
全部回答
1、hmacsha1的概念 hmacsha1 是 从 sha1 哈希函数构造的一种键控哈希算法,被用作 hmac(基于哈希的消息验证代码)。此 hmac 进程将密钥与消息数据混合,使用哈希函数对混合结果进行哈希计算,将所得哈希值与该密钥混合,然后再次应用哈希函数。输出的哈希值长度为 160 位,可以转换为指定位数。 上面是微软的标准定义,我看了也没太明白,他的作用一句话来理解:就是确认请求的url或者参数是否存在被篡改,以qq 签名为例:发送方(自己)将参数等进行hmac算法计算,将得到的哈希值(即签名值)与请求的参数一同提交至接收方(qq端),然后接收方再次将参数等值 进行hmac算法计算,将得到的哈希值与你传递过来的哈希值进行核对验证,若一样,说明请求正确、验证通过,进行一下步工作,若不一样,将返回错误。 (下面说的够详细了吧,还不理解,留言给我) 2、qq oauth 1.0中用到的哈希算法 /// /// hmacsha1算法加密并返回tobase64string /// /// 签名参数字符串 /// 密钥参数 /// 返回一个签名值(即哈希值) public static string tobase64hmac(string strtext, string strkey) { hmacsha1 myhmacsha1 = new hmacsha1(encoding.utf8.getbytes(strkey)); byte[] bytetext = myhmacsha1.computehash(encoding.utf8.getbytes(strtext)); return system.convert.tobase64string(bytetext); } 或者写成,原理一样: public static string hmacsha1text(string encrypttext, string encryptkey) { //hmacsha1加密 string message; string key; message = encrypttext; key = encryptkey; system.text.asciiencoding encoding = new system.text.asciiencoding(); byte[] keybyte = encoding.getbytes(key); hmacsha1 hmacsha1 = new hmacsha1(keybyte); byte[] messagebytes = encoding.getbytes(message); byte[] hashmessage = hmacsha1.computehash(messagebytes); return bytetostring(hashmessage); } 前面都注释了参数含义,就不再说明了。copy就可使用 注明:页面请引用 using system.security.cryptography; 3、介绍另外一种hmacsha1算法的写法 public static string hmacsha1text(string encrypttext, string encryptkey) { //hmacsha1加密 hmacsha1 hmacsha1 = new hmacsha1(); hmacsha1.key = system.text.encoding.utf8.getbytes(encryptkey); byte[] databuffer = system.text.encoding.utf8.getbytes(encrypttext); byte[] hashbytes = hmacsha1.computehash(databuffer); return convert.tobase64string(hashbytes); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦见教室
【什么反馈】反馈什么意思
商家说新到一批95成新的台式机啥意思
二手手机在哪买比较好?最好是本人买过的
华映M3时尚音乐厅地址好找么,我有些事要过去
She&He地址好找么,我有些事要过去
合川金九城业主讨论,
Margarita玛格地址好找么,我有些事要过去
可持续发展的基本内涵是
苹果6sp发送qq和微信语音没声音
鹿鞭鹿茸鹿血人参枸杞酒泡多九能喝
孕妇淡水虾怎么做好吃
有界变量或常数与无穷大的乘积是无穷大吗?
玛格之丘地址有知道的么?有点事想过去
MAKE地址在什么地方,我要处理点事
推荐资讯
神武手游血耐盘丝加点最佳推荐好玩吗
下列指标中,属于滞后指标的有()。A.库存B.
阿宾娜韩国精品内衣地址有知道的么?有点事想
规定a*b=(a+b)(a-b),求49*9等于多少?请把详细
远航汽车修理地址有知道的么?有点事想过去
申新广场电动汽车充电站地址好找么,我有些事
联想电脑(浒杨路飞度溜冰俱乐部旁)地址在什么
我买了三七粉早晚冲水服用,是属于生吃还是熟
SISLEY 希思黎 这个牌子的护肤品怎么样
请问 丰城市 有渡头镇 上陈村吗、
邓小平复出后,在教育上采取的主要措施有①为
什么耳机适合听古典音乐?(是耳塞)
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?