î
æ^Q\e  ã               @   s#   d  d l  m Z d d d „ Z d S)é    )Úabsolute_importÚ c             C   s’   d } xO t  |  d ƒ D]> \ } } t | ƒ | >} | d ?} | d M} | | | BN} q W| t |  ƒ N} | d N} t t | ƒ ƒ j ƒ  d d … S)a§  
    Create a password hash from a given string for protecting a worksheet
    only. This will not work for encrypting a workbook.

    This method is based on the algorithm provided by
    Daniel Rentz of OpenOffice and the PEAR package
    Spreadsheet_Excel_Writer by Xavier Noguer <xnoguer@rezebra.com>.
    See also http://blogs.msdn.com/b/ericwhite/archive/2008/02/23/the-legacy-hashing-algorithm-in-open-xml.aspx
    r   é   é   iÿ  iKÎ  é   N)Ú	enumerateÚordÚlenÚstrÚhexÚupper)Zplaintext_passwordÚpasswordÚidxÚcharÚvalueZrotated_bits© r   úN/var/www/dbchiro/venv/lib/python3.4/site-packages/openpyxl/utils/protection.pyÚhash_password   s    



r   N)Ú
__future__r   r   r   r   r   r   Ú<module>   s   