数字签名为什么可以防篡改
你可能在电视剧中看到坏人威胁主角的时候会拿出作为人质的亲人写的信,而主角一看笔迹就知道是亲人所写的了。
在这里笔迹起到了两个作用:1、证明信的内容确实是亲人所写;2、证明内容没有被篡改过。
在计算机的世界中,我们同样需要对信息一样的验证。
你可能在电视剧中看到坏人威胁主角的时候会拿出作为人质的亲人写的信,而主角一看笔迹就知道是亲人所写的了。
在这里笔迹起到了两个作用:1、证明信的内容确实是亲人所写;2、证明内容没有被篡改过。
在计算机的世界中,我们同样需要对信息一样的验证。
本文深入探讨了 HarmonyOS NEXT 的应用签名机制,详细解析了签名过程的每个步骤及其背后的实现原理,并通过源码分析了签名的校验机制。文章旨在揭示鸿蒙系统的安全设计思路,为从事鸿蒙研发的开发者提供参考。适合对鸿蒙系统安全机制感兴趣的开发者和安全研究人员阅读。
现代人的日常生活中,HTTPS 协议几乎无处不在,我们每天浏览网页时、用手机刷京东淘宝时、甚至每天秀自己绿色的健康码时,都在使用 HTTPS 协议。
作为一个开发人员,我想你应该多多少少有了解一点 HTTPS 协议。 你可能知道 HTTPS 是一种加密传输协议,能保证数据传输的保密性。 如果你拥有部署 HTTPS 服务的经验,那你或许还懂如何申请权威 HTTPS 证书,并配置在 Nginx 等 Web 程序上。
但是你是否清楚 HTTPS 是由 HTTP + TLS 两种协议组合而成的呢? 更进一步你是否有抓包了解过 TLS 协议的完整流程?是否清楚它加解密的底层原理?是否清楚 Nginx 等 Web 服务器的 HTTPS 配置中一堆密码学参数的真正含义?是否知道 TLS 协议有哪些弱点、存在哪些攻击手段、如何防范?
借着这个机会也了解了 rebase 的骚操作挺多的,不过我平时用的最多的还是 merge,这个倒没有好坏之分,只要同组的开发者都达成一致即可。
为什么要签名
GPG 可以对 Git commit 或 tag 进行签名,其它用户可以知道这个 commit 来源可信,也就是作者本人提交的代码。
JWT 规范的详细说明请见「参考」部分的链接。这里主要说明一下 JWT 最常见的几种签名算法(JWA):HS256(HMAC-SHA256) 、RS256(RSA-SHA256) 还有 ES256(ECDSA-SHA256)。
这三种算法都是一种消息签名算法,得到的都只是一段无法还原的签名。区别在于消息签名与签名验证需要的 「key」不同。
在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些 接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等,但是为了安全起见让用户暴露的明文密码次数越少越好,我们一般在web项目 中,大多数采用保存的session中,然后在存一份到cookie中,来保持用户的回话有效性。
想象一下:有人伤了你的心,而你想要的是心无旁骛地在日记中写下你的感受。你明白这种感受吗?没有吗?我也不知道。我没有心碎过(或者也许我心碎了,但我不想告诉你)。
但我还是想向你展示一个奇妙的极简的开源的记事应用来保存日记。
这个方便的小程序是Jrnl,它可以让你在终端中直接创建、搜索和查看日记条目。
下面我们就来讨论下常用的一些API设计的安全方法,可能不一定是最好的,有更牛逼的实现方式,但是这篇是我自己的经验分享.