序列化与反序列化

整理思考序列化与反序列化的一些知识点及具体的选型

序列化和反序列化是通讯协议的一部分,恰当的序列化协议可以提高系统的通用性、强健性、安全性、优化系统性能,而且让系统可以更加易于调试、便于扩展。
Read more

程序员如何巩固知识优化自己决策—复牌

围棋等一些棋牌类爱好者讲究复牌,就是把一盘局,整个推到重新来一遍。思考每一步走的意义,换一种走法是否会更合理,是否会起死回生,是否会终结棋局,从而提升自己的技能。

那么程序员如何来更好的思考自己的掌握呢?如何纠正自己的一些决策呢?其实这里抛开职业,从整个人生角度来谈也是完全符合的。我觉得可以从如下几方面来思考:
Read more

PHP依赖管理工具Composer详解

Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。

composer可以解决如下问题

a) 一个项目依赖于若干个库

b) 其中一些库依赖于其他库

c) 声明所依赖的东西

d) Composer找出哪个版本的包需要安装,并安装他们
Read more

三步掌握一门学科技巧

很棒的一篇文章分享给大家,其实有时候技术的学习也是一门技巧,如何更熟练的掌握真的很重要,费曼技巧不仅是一个很棒的学习方法,它还能帮助我们开始体会不同的思维方式。接下来就让我来解释一下,费曼技巧分为三步:教给孩子、回查、整理并简化、(可选传播)。
Read more

Java实现RSA、DSA、ECDSA算法的签名与验签

签名算法重要性

作为支付等安全性较高要求性的行业来说,签名与验签是必不可少的。一般均会双方约定一定的算法,将上送的参数进行拼接,通过MD5key拼接后摘要,或者其他的如RSA、DSA、ECDSA中的私钥进行签名。 同理对方拿到之后,会按照相同算法进行拼接,通过MD5Key拼接进行摘要或者公钥进行验签操作,来保证双方传输的数据没有被篡改。

总结:签名和验签的目的是什么呢?保证信息不被篡改,保证是签发人没有被篡改。

将常用的RSA、DSA、ECDSA采用公私钥进行签名与验签,相较于其他,更安全的保护了私钥不因对方而泄露,现总结了一下,使用Java语言进行实现,以作留档。
Read more

非对称加密算法与RSA详解

思考问题

  • 什么是非对称加密?相对于对称加密优点在哪?缺点在哪?针对这种缺点有什么解决方案?
  • RSA算法的可靠性是基于什么?如何破解RSA?目前秘钥安全位数是多少?

Read more

数据结构概述与大O记号

思考问题

1、算法的特性是什么
2、如何评估一个算法的性能
3、什么是大O记号,使用其应注意什么?是否还有其他评估方式?

Read more