前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iOS加密方式:RSA DES MD5

iOS加密方式:RSA DES MD5

作者头像
Python疯子
发布于 2018-09-06 07:49:33
发布于 2018-09-06 07:49:33
6630
举报
文章被收录于专栏:Python疯子Python疯子

最近用到了信息安全加密,主要用到了RSA DES MD5

MD5:加密后不可逆(只能加密不可解密),我们用于加密用户的登录密码

DES:对称加密(服务器和客户端公用同一个秘钥),缺点:一旦被抓包破解了秘钥,就能破解所有的传递信息

RSA:非对称加密(会生成一对秘钥(公钥和私钥)), 通过MAC终端生成两个.pem文件,再用vim打开文件,获取里面的字符串(也就是秘钥),

如果服务器端同时保留公钥和私钥,可以相互解密加密,如果移动端同时保留公钥和私钥,也可以相互解密加密

一般情况下,防止APP被反编译破解获取一对秘钥,服务器端只保留私钥(只解密不加密),移动端只保留公钥(只加密不解密)

本来想着:密码加密用MD5,信息传递用RSA,

在用RSA加密时遇到了问题,移动端通过公钥加密发给服务器,服务器通过私钥解密存储信息数据,服务器再通过私钥加密返回数据给移动端,移动端通过公钥进行解密获取数据

但在服务器给移动端返回用私钥加密后的数据时,移动端用公钥解密没有成功(我只是做iOS端的,Android不知道具体情况),所以这种解密方式放弃了,如果大家有解决方案,欢迎交流。

最终解决思路:密码加密用MD5,信息传递用RSA + DES

首先移动端给服务器传递通过RSA公钥加密后的数据,参数包括DES的密钥(密钥是随机生成的八位字符串) 和 相关参数信息,服务器通过私钥解密信息数据,里面包括DES密钥和 相关参数信息,服务器再通过此DES密钥加密返回数据给移动端,移动端通过此DES密钥进行解密获取数据。优点:因为RSA不容易解密,即使被拦截解密了,获取了DES的密钥,因为DES的密钥是随机生成的,也只能解密这一次的数据信息,不会对其他数据信息产生影响。(注:DES的密钥每一次都要重新随机生成,也就是一个密钥只完成这一次的数据传递)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.03.18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
你还不了解DevOps? 看这篇就够了
最近几年"DevOps"这个关键词经常出现在项目开发当中,特别是随着微服务/容器/cloud在项目中的大范围应用,你不想知道都很难。作为一个伴随CI/CD到DevOps一路走来的工程师,我将分几个部分漫话DevOps以及相关的概念,作为软件开发工程师,你需要知道并且开始践行DevOps, 它应该成为你职业素养的一部分。
DevOps在路上
2023/05/16
1870
你还不了解DevOps? 看这篇就够了
架构师角色的演变:从发号施令到与团队合作
作者 | Leigh Griffin, Chris Foley 译者 | 明知山 策划 | 丁晓昀 1 不断变化的世界   与传统的科学相比,软件可以算是一门非常年轻的科学。但即使是在它的婴儿期,它的关键组成部分之一——架构及其形成方式已经发生了重大变化。架构蓝图——花几个月时间完成可以解决所有问题的完整设计——一去不复返了,也没有了由一人负责管理所有东西的场景。之所以发生这种模式转变,一部分是因为行业创造出了更好的工具,还有一部分是因为用户行为发生了变化。他们的交互模式从事务性服务转变为消费驱动型服务,
深度学习与Python
2023/03/29
2880
架构师角色的演变:从发号施令到与团队合作
架构师必须要知道的阿里的中台战略与微服务
  传统企业平台都是烟囱式的系统架构,企业内部为了迎合业务发展不停的打造各种系统,导致各系统间的重复功能建设和维护带来的重复投资。重复投资不仅消耗的是人力,财力还有时间。但打通烟囱式系统间交互的集成和协作成本高昂,各大企业不得不借助ESB产品,构建企业服务总线,打通各系统间的交互问题。
欢醉
2019/05/25
1.4K0
架构师必须知道的架构设计原则
一晃我在软件研发行业工作十多个年头了,前面大部分时间做架构设计和开发,现在转型做研发管理。随着时间的推移,很多技战术细节性的东西 (工具,框架,编程语言) 在我脑海中渐渐模糊,但是一些平时学习积累起来,并且在实践中加深体会的软件架构设计和组织原则,这些原则性的东西却丝毫没有被时间冲淡,反而愈加清新。现在即使我不在一线开发,但这些沉淀下来的原则仍然潜移默化地影响我的日常管理和部分架构设计指导工作。我想有必要总结一下那些业界知名,给我留下深刻印象的软件架构设计和组织原则,和大家一起分享。1软件设计原则GRASP 通用职责分配软件模式
Java架构师必看
2020/08/17
1.2K0
康威定律,作为架构师还不会灵活运用?
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
程序新视界
2019/10/22
7800
康威定律,作为架构师还不会灵活运用?
被滥用的“架构师”!
👆点击“博文视点Broadview”,获取更多书讯 在很多程序员的大脑中,都会有这样一个打怪升级的路径: 曾经,我对这个路径深信不疑,现在想想,也许是因为初出茅庐的我所看到的江湖太小。慢慢地,在江湖中久了、视野开了,就发现自己想得太简单了。 第1个对“架构师”的定义 十多年前,在我初入江湖的时候,首先进入了一家位于深圳的大型软件公司,研发人员的规模上千。面试我的人据说是公司中的架构师,我当时心里真的是对这个架构师充满了仰慕之情,以至于至今我都依稀能够回忆起他的容貌和声音。 当时的后端主流技术是St
博文视点Broadview
2022/04/22
2590
被滥用的“架构师”!
架构师必须掌握的架构设计原则
来自 Craig Larman 的软件设计书《UML 和模式应用》,Larman 在书中提出软件设计的关键任务是职责分配,并提炼总结出 9 种 (5 种核心 +4 种扩展) 软件职责分配模式,这些模式是比 GoF 设计模式更抽象的元模式。
架构狂人
2023/08/16
3390
架构师必须掌握的架构设计原则
顾宇:成功的微服务应该是什么样 — 组织篇
4 月在深圳的 GOPS 大会上我分享了“落地微服务的难点和如何高效落地微服务”,这是我 2017 年 4 月份开始做的项目总结,后来发表到了自己的博客和” ThoughtWorks 洞见” 上。
DevOps时代
2018/10/25
6920
顾宇:成功的微服务应该是什么样 — 组织篇
直击架构本质:优秀架构师必须掌握的几种架构思维
架构的本质是管理复杂性,抽象、分层、分治和演化思维是我们工程师/架构师应对和管理复杂性的四种最基本武器。
范蠡
2019/11/06
1.3K0
直击架构本质:优秀架构师必须掌握的几种架构思维
为什么微服务实施那么难?如何高效推进微服务架构演进
前言 笔者从 2013 年加入 ThoughtWorks 至今共 4年时间。在这 4 年的时间里,我分别以 开发人员, DevOps 工程师、DevOps 咨询师、微服务架构师以及微服务咨询师的角色参与了共计 7 个产品和项目的微服务咨询和实施。其中有有成功,有失败,有反思,更多的是学习和总结。以下是我这些年来在微服务咨询上的经验总结,希望能给陷入微服务实施困境的人带来一些帮助。 难点1:“一步到位”的认知错觉 这些年微服务大红大紫,但是真正能够拿出来做为可实践的案例少之又少。大部分的微服务案例只能看到微
Java高级架构
2018/04/19
1.1K0
《微服务设计》第 2 章 演化式架构师
第 2 章 演化式架构师 2.1 不准确的比较 架构师的一个重要职责是,确保团队有共同的技术愿景,以帮助我们向客户交付他们想要的系统。在某些场景下,架构师只需要和一个团队一起工作,这时他们等同于技术引领者 ---- 2.2 架构师的演化视角 因此架构师必须改变那种从一开始就要设计出完美产品的想法,相反我们应该设计出一个合理的框架,在这个框架下可以慢慢演化出正确的系统,并且一旦我们学到了更多知识,应该可以很容易地应用到系统中 架构师的职责之一就是保证该系统适合开发人员在其上工作 ---- 2.3 分区 作为架
yeedomliu
2019/09/28
4280
中国式微服务技术栈2.0
近年,Spring Cloud俨然已经成为微服务开发的主流技术栈,在国内开发者社区非常火爆。
程序猿DD
2018/07/31
7870
中国式微服务技术栈2.0
解决方案架构师修炼之道
推荐序二 在IT领域里,解决方案架构师的培养成本也是极高的,架构的优劣决定着企业IT的建设和运营成本,架构设计上的漏洞可能会给企业带来巨大的损失。一名优秀的解决方案架构师在成长的道路上,要学习各类IT知识,在项目中摸爬滚打,总结经验教训,从实践中提炼方法论 ---- 推荐序四 我们介入后,围绕发布目标,反向梳理了三大模块工作细节及其配合关系,包括功能性开发与测试、非功能性开发与验证、产品运营与推广等,帮助产品相关的几十人的业务与技术团队就目标形成共识,包括帮助团队明确和调整优先级,舍弃一些不太重要的功能,提
yeedomliu
2021/12/01
2.7K0
解决方案架构师修炼之道
关于微服务拆分,听听一位微服务架构师的肺腑之言
导语:微服务架构的盛行,解决了系统上可用性、可扩展、可维护性上的问题,成为众多企业架构转型的不二之选。但在架构转型时,原有系统应该如何进行微服务拆分呢?要避免哪些陷阱呢?在本文中,腾讯云微服务架构师崔凯将为大家详细解答。
腾讯云中间件团队
2021/03/24
2.4K0
关于微服务拆分,听听一位微服务架构师的肺腑之言
资深架构师十年总结:成为架构师,你必须具备这五点能力
作者 | Alan Tai 译者 | 冬雨 策划 | 闫园园 在过去的 20 年里,作为一名软件工程师和软件架构师,我与不同领域和不同学科的软件工程师聊过很多次。他们中有一些人是有着 8 到 10 年经验的高级工程师,有许多人还在职业生涯早期,有着 3 到 5 年的经验。其中一些人是我的同事。有些人是求职者。聊到最后,他们几乎都会问到同样一个问题: “我想成为一名解决方案架构师。了解更多架构相关内容的资源有哪些?“——很多软件工程师都会问的一个问题。 他们问错了问题。如果你读下去,就会知道为什么我
深度学习与Python
2023/03/29
5850
资深架构师十年总结:成为架构师,你必须具备这五点能力
DevOps转型陷阱与核心实践指南
2010年,我曾在IBM供职,开始参与DevOps相关的产品研发与实施工作。今天看来,我也许是国内较早的DevOps践行者。这两年DevOps在国内开花结果的时候,我见到了很多错误转型的乱象。本文中,将为大家分享自己对DevOps行业发展的观察,并向介绍DevOps转型的路途中都有哪些陷阱。希望通过本文,大家能更够拨云见日,真正的使DevOps成为企业生产力增长的助推器。 本文目录: 一、软件工程的发展 二、DevOps转型陷阱 三、DevOps核心实践 四、DevOps生态环境 一、软件工程的发展 1、工
yuanyi928
2018/03/30
1.2K0
DevOps转型陷阱与核心实践指南
进阶Java架构师必看的15本书
1、大型网站技术架构:核心原理与案例分析 本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web安全、系统发布、运维监控等在内的大型网站开发全景视图。 本书作者李智慧,曾在阿里巴巴担任技术专家,参与阿里巴巴基础技术平台开发和架构设计。 2、分布式服务框架原理与实践 微服务是当前非常热的技术关键词之一,那么微服务如何落地呢?首先要实现服务化,微服务架构是一种服务化架构风
Java技术栈
2018/03/30
3.2K0
进阶Java架构师必看的15本书
符合架构的测试
架构会对测试带来重要的影响。测试单体系统的方式与测试松耦合系统的方式是不同的。我们以微服务作为松耦合系统的典型示例。下面将会看到,它们挑战了我们之前对于测试的定义。 康威定律 Melvin Conway观察到组织的结构会对它们所创造的产品带来显著的影响:“任何组织在设计一套系统时[……],所交付的设计方案在结构上都与该组织的沟通结构保持一致。” 康威定律说明公司的软件架构通常会反应组织的结构。另一方面,我们如何组织团队会对架构和测试方法带来巨大的影响。 架构和组织结构之间的互相依赖也会反映到BAPO模型中,
程序你好
2018/07/20
4810
怎样成为一个优秀的架构师?
架构师是一个既能掌控整体又能洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。看似完美的“人格模型”背后,是艰辛的探索。
一个会写诗的程序员
2019/10/09
1K0
怎样成为一个优秀的架构师?
谈谈架构设计
作者:guisuhuang,腾讯 PCG SRE 工程师 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。在不同的书籍上, 不同的作者, 对于架构的定义也不统一, 角度不同, 定义不同。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义, 因为概念是人认识这个世界的基础和用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅,本文根据相关资料进行总结。 一、架构是什么 Linux 有架构,MySQL 有架构,JVM 也有架构,使用 Java
腾讯技术工程官方号
2023/04/01
7180
谈谈架构设计
推荐阅读
相关推荐
你还不了解DevOps? 看这篇就够了
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档