PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

MD5加密方法介绍

[复制链接]

2018-12-5 10:28:35 1974 0

Araser 发表于 2018-12-5 10:28:35 |阅读模式

Araser 楼主

2018-12-5 10:28:35

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
MD5算法简单的来说就是把任意长度的字串变换成固定长度(通常是128位)的16进制串。RFC 1321定义了MD5算法。4 ]0 O8 J. z7 U2 n
MD5的用途主要有:
  ^$ V. r6 i2 c/ d; q+ |) y一致性验证。比如我们从网上下载了某个文件,网站上一般会给出该文件的MD5值,我们下载下来后,可以利用工具计算出
. _- ?2 {& X  b  p7 E新的MD5值,与正确的MD5值进行对照,如果不一样,则可以断定该文件下载出错或被篡改了。
. |# W! y& h) O数字签名。可以用MD5算法对发布的程序或发布的消息生成MD5值作为签名等。9 `% }- o- M" `& K" S
密码存储。在传输过程中或存储过程中,直接用明文的密码都是很危险的。可以在传输之前先用MD5加密,存储也不用存储% E! J& r4 z0 A: t
明文,可以直接存储MD5值。在验证时,先把输入的密码转换成MD5值再与存储值进行对比。
对于密码存储,Asp.net的实现方法为:

8 D; q8 y/ `# @' M' O- o3 e' E1 B) C
[mw_shl_code=csharp,true]protected void Page_Load(object sender, EventArgs e)3 P( S) z" g' g' B, }
        {
( A* X6 k: }; j            string plainPassword = "innovator";+ x0 v: `2 m* w+ J( j
, X2 U$ C: |6 g1 w8 D
            System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
* F' _! m5 M; T3 Z9 Z0 _0 Q! D            System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();
9 w5 B1 Q9 {) L7 d4 M% B            byte[] data = ascii.GetBytes(plainPassword);5 _, u! a: t' p) l1 s% M& D
            byte[] result = md5.ComputeHash(data);
4 s1 d- \2 w0 ?3 S& G* R            // Convert the MD5 result to Hexadecimal string- N# v. D) d' \+ T1 X
' f  y; O9 ~" P0 F
            string MD5Password = BinaryToHex(result);4 {: ]/ u+ X. p( C. M) e* C
            string aa = "";7 J6 \- Z4 N6 W% i2 ?$ ^# w' ^
        }[/mw_shl_code]

: T6 ^# J3 ^( N/ k! ?& ^
[mw_shl_code=csharp,true]private String BinaryToHex(byte[] BinaryArray)
# E7 u. R1 k. V) F7 r2 @        {9 R# [5 i3 m) F7 N' [3 b  I9 f
            string result = "";6 N+ c* S/ N& b0 s! C; E
            long lowerByte;) k% q! K1 _7 ^' d% O4 W) @
            long upperByte;8 X7 B$ O5 c' m0 g( A1 p* P

, t/ j+ _* q* k" h9 Y; Y1 A" w            foreach (Byte singleByte in BinaryArray)8 q% l( W2 ^# a; G# E4 \& o
            {  e! _/ C+ b: g" |0 S' G8 n& u
                lowerByte = singleByte & 15;1 `: \( A1 A& q: \- Z' m. D
                upperByte = singleByte >> 4;; N/ }! r7 J. ^8 R5 R- ?

; j, g4 |" J5 |( U3 |                result += NumberToHex(upperByte);
; j% {2 ^, U6 E6 n                result += NumberToHex(lowerByte);& h! }( p  }+ u6 c3 P8 Z9 B
            }
7 g, [7 i5 c; o; p( S- c0 j  s            return result;- \; A1 X2 i# |+ I" ^
        }[/mw_shl_code]
+ f8 r0 I: a6 F! e& i3 F# B) b$ a* q  B% D
[mw_shl_code=csharp,true]private static char NumberToHex(long Number)! `+ V7 L( a+ J0 }- ~1 t
        {
/ H+ X: e1 a& H! |4 P0 s2 v# [1 }            if (Number > 9)% T, e9 C$ K, S8 ~' ]0 g+ g2 M( l8 M
                return Convert.ToChar(65 + (Number - 10));4 e5 H7 e+ z  y% ?5 [5 f2 S. C
            else
) L$ \3 U4 H5 E1 ~* }4 ^7 L  K! }                return Convert.ToChar(48 + Number);
* i0 `0 x$ T' ?' c        }[/mw_shl_code]
, W) T3 F! Q2 Y. s3 N
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了