TOTP算法应用场景及Java/C#实现

HOTP & TOTP

OTP(One-Time Password)译为一次性密码,其基本认证思想是在认证双方共享密钥,并对某一个事件计数,然后基于共享密钥和计数结果进行密码算法计算,得到一次一个动态密码,使用后作废,密码长度通常为6-8个数字,使用方便。OTP是一种强认证技术,是增强目前静态口令认证的一种非常方便技术手段,是一种重要的双因素认证(2FA)技术。

Read More

Vs2017 App.manifest Bug

做过WPF/WinForm,或者Console的同学应该知道,如果我们是需要对C盘文件、注册表做操作,那么我们需要在.EXE运行起来之前获取Administrator权限,也就是俗话说的:以管理员权限运行,那么怎么让你的.EXE自动获取Administrator权限呢?(因为你不可能口头告诉你的客户,他花钱请你做的东西需要右击->”以管理员方式运行”)

Read More

Database Reverse Engineering Using Roslyn

前段时间,团队领导跟我说:有一个关于“CLR,JIT,Roslyn详解”的主题分享,但是我没有时间,你顶替我去分享一下……当时我一脸懵逼,因为对我而言,CLR,JIT,Roslyn,别说详解,让我照着PPT念都够喝一壶的。我虽尽力各种推脱,你懂的,最后我只能硬着头皮上了,但是选了其中一个:Roslyn

Read More

使用EntityFrameworkCore实现Repository<TEntity>, UnitOfWork<TContext>,支持MySQL分库分表

昨天(星期五)下班,19:00左右回到家,洗个澡,然后20:30左右开始写代码,写完代码之后,上床看了《生活大爆炸10季》17、18两集,发现没有更新到19集,瞄了一眼手机,竟然已经是凌晨02:00多了,关掉电视睡觉,10:30左右被老婆电话吵醒,洗漱完毕,去麦当劳吃了一个早餐,然后屁颠屁颠地坐地铁到很远的地方去爬山。爬山回来之后,闲来无事,写篇文章记录一下昨晚所花的几个小时干的事情——使用EntityFrameworkCore实现Repository<TEntity>, UnitOfWork<TContext>,支持MySQL分库分表。

Read More

深入理解Async/Await

C# 5 Async/Await 语法特性,极大地简化了异步编程,但我们知道,异步编程的基本原理并没有发生根本改变。也就是说,当一些复杂的东西看起来很简单时,它通常意味着有一些有趣的事情在背后发生。在计算机程序设计语言领域,我们把这些本身很复杂但看起来很简单的语言特性称为语法糖,通常情况下,我们并不需要深入理解语法糖是怎么被一层一层包裹起来的,但是,最近我在使用.NET Core实现MySQL协议过程中,需要实现一个Awaitable Socket,所以我需要知道Async/Await背后到底发上了什么?

Read More

ABOUT

I'm a developer, I use C/C++, Java, C# and Swift, but I also embrace all the new stuff.

I'm working at Tencent. My family live in Hangzhou, Zhejiang, China. Maybe the difference with other programmers is I already married, and have a lovely daughter. (^<>^)

A man like me, is unique in the world of existence, no matter where you go, there belonging to my stage. Like desert gold, light can not hide forever! Especially my messy hair, melancholy eyes, sigh of stubble, handsome face, are deeply addicted whom even I.

ELSEWHERE