安卓常见的一些加密((对称加密DES,AES),非对称加密(RSA),MD5)

作者&投稿:撒骅 (若有异议请与网页底部的电邮联系)
~

DES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。DES加密算法出自IBM的研究,
后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为DES使用56位密钥,以现代计算能力,
24小时内即可被破解

调用过程

最近做微信小程序获取用户绑定的手机号信息解密,试了很多方法。最终虽然没有完全解决,但是也达到我的极限了。有时会报错:javax.crypto.BadPaddingException: pad block corrupted。

出现错误的详细描述
每次刚进入小程序登陆获取手机号时,会出现第一次解密失败,再试一次就成功的问题。如果连续登出,登入,就不会再出现揭秘失败的问题。但是如果停止操作过一会,登出后登入,又会出现第一次揭秘失败,再试一次就成功的问题。
网上说的,官方文档上注意点我都排除了。获取的加密密文是在前端调取wx.login()方法后,调用我后端的微信授权接口,获取用户的sessionkey,openId.然后才是前端调用的获取sessionkey加密的用户手机号接口,所以我可以保证每次sessionkey是最新的。不会过期。
并且我通过日志发现在sessionkey不变的情况下,第一次失败,第二次解密成功。

加密算法,RSA是绕不开的话题,因为RSA算法是目前最流行的公开密钥算法,既能用于加密,也能用户数字签名。不仅在加密货币领域使用,在传统互联网领域的应用也很广泛。从被提出到现在20多年,经历了各种考验,被普遍认为是目前最优秀的公钥方案之一

非对称加密算法的特点就是加密秘钥和解密秘钥不同,秘钥分为公钥和私钥,用私钥加密的明文,只能用公钥解密;用公钥加密的明文,只能用私钥解密。

一、 什么是“素数”?
  素数是这样的整数,它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积
二、什么是“互质数”(或“互素数”)?
  小学数学教材对互质数是这样定义的:“公约数只有1的两个数,叫做互质数
(1)两个质数一定是互质数。例如,2与7、13与19。
(2)一个质数如果不能整除另一个合数,这两个数为互质数。例如,3与10、5与 26。
(3)1不是质数也不是合数,它和任何一个自然数在一起都是互质数。如1和9908。
(4)相邻的两个自然数是互质数。如 15与 16。
(5)相邻的两个奇数是互质数。如 49与 51。
(6)大数是质数的两个数是互质数。如97与88。
(7)小数是质数,大数不是小数的倍数的两个数是互质数。如 7和 16。
(8)两个数都是合数(二数差又较大),小数所有的质因数,都不是大数的约数,这两个数是互质数。如357与715,357=3×7×17,而3、7和17都不是715的约数,这两个数为互质数。等等。
三、什么是模指数运算?
  指数运算谁都懂,不必说了,先说说模运算。模运算是整数运算,有一个整数m,以n为模做模运算,即m mod n。怎样做呢?让m去被n整除,只取所得的余数作为结果,就叫做模运算。例如,10 mod 3=1;26 mod 6=2;28 mod 2 =0等等。
  模指数运算就是先做指数运算,取其结果再做模运算。如(5^3) mod 7 = (125 mod 7) = 6。

其中,符号^表示数学上的指数运算;mod表示模运算,即相除取余数。具体算法步骤如下:
(1)选择一对不同的、足够大的素数p,q。
(2)计算n=p q。
(3)计算f(n)=(p-1)
(q-1),同时对p, q严加保密,不让任何人知道。
(4)找一个与f(n)互质的数e作为公钥指数,且1<e<f(n)。
(5)计算私钥指数d,使得d满足(d*e) mod f(n) = 1
(6)公钥KU=(e,n),私钥KR=(d,n)。
(7)加密时,先将明文变换成0至n-1的一个整数M。若明文较长,可先分割成适当的组,然后再进行交换。设密文为C,则加密过程为:C=M^e mod n。
(8)解密过程为:M=C^d mod n。

在RSA密码应用中,公钥KU是被公开的,即e和n的数值可以被第三方窃听者得到。破解RSA密码的问题就是从已知的e和n的数值(n等于pq),想法求出d的数值,这样就可以得到私钥来破解密文。从上文中的公式:(d e) mod ((p-1) (q-1)) = 1,我们可以看出,密码破解的实质问题是:从p q的数值,去求出(p-1)和(q-1)。换句话说,只要求出p和q的值,我们就能求出d的值而得到私钥。
   当p和q是一个大素数的时候,从它们的积p
q去分解因子p和q,这是一个公认的数学难题。比如当p*q大到1024位时,迄今为止还没有人能够利用任何计算工具去完成分解因子的任务。因此,RSA从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
  缺点1:虽然RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。即RSA的重大缺陷是无法从理论上把握它的保密性能如何。

在android 开发的很多时候。为了保证用户的账户的安全性,再保存用户的密码时,通常会采用MD5加密算法,这种算法是不可逆的,具有一定的安全性

MD5不是加密算法, 因为如果目的是加密,必须满足的一个条件是加密过后可以解密。但是MD5是无法从结果还原出原始数据的。

MD5只是一种哈希算法




ECC 加密校验模块
至于ecc_correct,它就像一个精确的校正器,当遇到1位错误时,如在汉明码的第6位发现D2有误,它会立即进行修正,确保数据的完整性。尽管前辈的加密校验方法看似局限,但在实际应用中,它对于防止常见的一位和二位错误已经绰绰有余。然而,随着通信速度的提升,多比特错误在高带宽传输中成为不可避免的...

pkcs #11简介
该API详尽地定义了常见的加密对象类型,如RSA密钥、X.509证书以及DES\/三重DES密钥等,涵盖了创建、生成、修改和删除这些对象的操作。然而,值得注意的是,PKCS#11本身并不包含接口的实现,它只是定义了接口的规范。通常,设备供应商会提供符合PKCS#11标准的API实现,比如USB密钥的制造商。开发者只需要通过...

ipad解不开锁屏密码是怎么回事啊?
此外,iPad连接WIFI路由器时,有三种加密类型可供选择:WEP、WPA\/WPA2、WPA-PSK\/WPA2-PSK。其中,WPA\/WPA2是最安全的加密类型,但需要Radius服务器身份验证和密码。WPA-PSK\/WPA2-PSK是一种常见的加密类型,设置简单,但有两种加密算法:AES和TKIP。因此,在连接WIFI时,需要注意这些问题并选择合适的...

黑莓被封杀的加密技术
服务器负责为信息加密和解密,密码难以破译。接收信息者只有使用电子密钥才能读取信息。这种原理类似网上银行或网络购物中使用的交易密码。遭封杀的原因是:黑莓手机卓越的加密功能既为政商人士提供了便利和私密,另一方面也可能为一些犯罪、间谍、反政府乃至恐怖主义活动提供“掩护”阿联酋、沙特阿拉伯、印度、...

vivo手机怎么设置下载应用需要密码
安装软件需要验证是默认的,不可以设置实现。

如何给文件夹加设打开密码
2 winrar加密法 右键单击你要加密的文件,选“ 添加到压缩文件”(前提是你必须装了winrar)之后在弹出的对话框中选“高级”标签,再选其中的设置密码,然后开始打包。压缩完成后记得把原来的文件删除。破解 现在网上有很多破解winrar的小工具我这里就不多介绍了。3 隐藏分区法 此法需要涉及一些注册表的...

密码学开源库整理
解锁密码学世界:探索开源宝藏库 在密码学的探索之旅中,开源库如同璀璨的星河,为开发者提供了强大的工具和无限可能。以下是精心挑选的一些关键项目,它们在C\/C++、Java、Python和Go等语言中构筑了加密技术的基石:C\/C++- MIRACL (链接):专为ECC SDK而生,为高效加密提供了基础。- OpenSSL (链接):...

新加坡副总理:Web3.0是好是坏警告散户加密投资者
对于一些加密功能,最快的量子计算机比最快的超级计算机快1.5亿倍以上。量子计算机可以在几分钟内解决一个超级计算机需要一万年的问题。这就是量子技术成为全球研究焦点的原因之一。量子也是我们国家研发计划中的一个重点研究领域。新加坡的量子技术中心,即CQT,是我们国家的卓越研究中心之一,也是世界上该领域的领先研究机构...

安全架构师需要具备什么能力
1安全技术基础 (1)常见的身份认证机制(密码、SSO、OAuth2、AD\/LDAP、802.1x、RSA Token、证书\/U-Key\/Smart Card、Google Authenticator、生物认证等),以及与认证相关的CAPTCHA机制、锁定\/防撞库机制;(2)常见的授权与访问控制措施(强制访问控制、自主访问控制、RBAC等);(3)常见加密算法、特点...

cvc算法是什么意思?
CVC算法的应用领域有哪些?CVC算法主要应用于信息安全领域。它可以在不依赖任何密码学工具的情况下加密和解密二进制或文本数据。CVC算法拥有许多优点,如易于实现、不易受到攻击、加密过程不涉及计算,从而可以减轻计算负担,从而在一些场合下可以大幅提高数据处理的效率。因此,CVC算法在信息安全领域得到了广泛...

洪雅县17743644019: Android开发者须知的几种APP加密方式 -
年净路盖: 1、Spongy Castle Spongy Castle 允许安卓开发者在应用程序中使用任意版本的 BouncyCastle 类库.SpongyCastle 就是对最新版本的 BouncyCastle 进行了简单地重新打包 .2、Bouncy Castle Bouncy Castle 是一个广泛使用的类库.它提供了...

洪雅县17743644019: 常用的对称加密算法包括
年净路盖: 对称加密算法用来对敏感数据等信息进行加密,常用的算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合. 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高. AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;

洪雅县17743644019: Android APP加密方法都有哪些 -
年净路盖: 伪加密是Android4.2.x系统发布前的Android加密方式之一,通过java代码对APK(压缩文件)进行伪加密,其修改原理是修改连续4位字节标记为”P K 01 02”的后第5位字节,奇数表示不加密偶数表示加密. Android APP加密方法都有哪些? ...

洪雅县17743644019: 安卓加密方法都有哪些 -
年净路盖: android是用java语言开发的,java语言,JDK给我们提供了非常多的加密算法 如基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algorithm,安全散列算法) HMAC(Hash Message Authentication Code,散列消息鉴别码)

洪雅县17743644019: 安卓网络请求数据时如何保证数据的完整性和安全性?使用哪种加密? -
年净路盖: 通过网络传输数据,需要保证数据的完整性、保密性,以及能够对数据的发送者进行身份验证.这些都需要通过一些加密算法实现.对称加密:加密和解密使用同一个密钥,特点:保证了数据的保密性.局限性:无法解决密钥交换问题.常用的...

洪雅县17743644019: android 常见的数据加密方式有哪些 是否可逆 用什么加密数据 -
年净路盖: 你可以百度一下bouncycastle和 common codec!java常用的加密组件!

洪雅县17743644019: 问一下,给android加密哪些加密方式最好最有效? -
年净路盖: 朋友你好,很高兴为你解决问题.android加密的最佳加密方式可采用安卓应用APK加密工具,一键集成DEX加密、SO文件加密、DLL文件加密、内存保护、反调试、防二次打包等功能.可以有效避免核心代码被破解,请求协议被伪造,被植入...

洪雅县17743644019: android 数据库加密方式有哪些 -
年净路盖: 对称加密,非对称加密

洪雅县17743644019: 列举几种典型的加密算法 -
年净路盖: 加密算法分为对称加密算法和非对称加密算法,有DES,AES等,还有指纹类的算法,如SHA-1,MD5用于进行校验

洪雅县17743644019: 游戏封包加密方式 -
年净路盖: 常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法.对称加密指加密和解密使用相同密钥的加密算法.对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性.假设两个用户需要使用对称加密方法加密然...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网