procedure Tfrmlogin.edtAddPasswordClick(Sender: TObject);var normalPassword,EncryptedPassword: string; PasswordChar: Char; EncryptedCharValue: string; CharPtr: Integer; Ptr,n: Integer;begin normalPassword := Edit1.text; EncryptedPassword := ''; for CharPtr := 1 to Length(normalPassword) do begin PasswordChar := normalPassword[CharPtr]; EncryptedCharValue := IntToStr (Ord(PasswordChar) * 5 + 14); EncryptedPassword := EncryptedPassword + EncryptedCharValue; Label1.Caption := EncryptedPassword; end;end;
问题是我想将label1.caption中显示的加密密码转换回其原始形式,点击另一个按钮,我无法弄清楚如何做到这一点.有什么建议?
解决方法 不要创建自己的算法来散列(或加密)密码,而是尝试使用经过良好测试的可靠算法,如SHA1,MD5等.回到你的问题,将加密值转换为原始值,你只需要反转你的算法,试试这个样本.
var normalPassword,EncryptedPassword: String; PasswordChar : char; EncryptedCharValue : String; CharPtr : Integer;begin normalPassword :=''; EncryptedPassword := Label1.Caption; //here is stored the encrypted password CharPtr := 1; while CharPtr< length(EncryptedPassword) do Begin EncryptedCharValue:=copy(EncryptedPassword,CharPtr,3); Inc(CharPtr,3); PasswordChar := Chr((StrToint(EncryptedCharValue)-14) div 5); normalPassword :=normalPassword+ PasswordChar; end; Label2.Caption := normalPassword; end;总结
以上是内存溢出为你收集整理的delphi – 密码加密全部内容,希望文章能够帮你解决delphi – 密码加密所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)