what is HashEncode function in password encryption ?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • pranitsai
    New Member
    • Jan 2014
    • 1

    what is HashEncode function in password encryption ?

    my senior give me file1.asp that contains code for password encryption and tell me to convert it in c# langauge syntax, but I did not getting what is HashEncode function and how it actual work ?
    Is any help or any tutorial regarding this one ?
    File contains much more functions, for example below is one function in file1.asp
    Code:
    Function HashEncode(strSecret)
    ' Function takes an ASCII string less than 2^61 characters long and 
    ' one way hash encrypts it using 160 bit encryption into a 40 digit hex value.
    ' The encoded hex value cannot be decoded to the original string value.
    '
    ' This is the only function that you need to call for encryption.
    '
    ' Written By: Mark G. Jager
    ' Written Date: 8/10/2000
    '
    ' Free to distribute as long as code is not modified, and header is kept intact
    '
    ' The author makes no warranties as to the validity, and/or authenticity of this code.
    ' You may use any code found herein at your own risk.
    ' This code was written to follow as closely as possible the standards found in
    ' Federal Information Processing Standards Publication (FIPS PUB 180-1)
    ' http://csrc.nist.gov/fips/fip180-1.txt -- Secure Hash Standard SHA-1
    '
    ' This code is for private use only, and the security and/or encryption of the resulting
    ' hexadecimal value is not warrented or gaurenteed in any way.
    '
        Dim strEncode, strH(4)
        Dim intPos
        
        
        If len(strSecret) = 0 or len(strSecret) >= 2^61 then
    		HashEncode = "0000000000000000000000000000000000000000"
    		exit function
        end if
        
        
        'Initial Hex words are used for encoding Digest.  
        'These can be any valid 8-digit hex value (0 to F)
        strH(0) = "FB0C14C2"
        strH(1) = "9F00AB2E"
        strH(2) = "991FFA67"
        strH(3) = "76FA2C3F"
        strH(4) = "ADE426FA"
        
        For intPos = 1 to len(strSecret) step 56
    		
    		strEncode = Mid(strSecret, intPos, 56) 'get 56 character chunks
    		strEncode = WordToBinary(strEncode) 'convert to binary
    		strEncode = PadBinary(strEncode) 'make it 512 bites
    		strEncode = BlockToHex(strEncode) 'convert to hex value
    		
    		'Encode the hex value using the previous runs digest
    		'If it is the first run then use the initial values above
    		strEncode = DigestHex(strEncode, strH(0), strH(1), strH(2), strH(3), strH(4))
    
    		'Combine the old digest with the new digest
    		strH(0) = HexAdd(left(strEncode, 8), strH(0))
    		strH(1) = HexAdd(mid(strEncode, 9, 8), strH(1))
    		strH(2) = HexAdd(mid(strEncode, 17, 8), strH(2))
    		strH(3) = HexAdd(mid(strEncode, 25, 8), strH(3))
    		strH(4) = HexAdd(right(strEncode, 8), strH(4))
    		
        Next
        
        'This is the final Hex Digest
        HashEncode = strH(0) & strH(1) & strH(2) & strH(3) & strH(4)
        
    End Function
    Thanking for all replies in advance.
  • Rabbit
    Recognized Expert MVP
    • Jan 2007
    • 12517

    #2
    The code is fairly well commented. It answers all your questions. What part don't you understand?

    Comment

    Working...