code: def hash_algo(self):
          
  
          algorithm = self['algorithm'].native
  
          algo_map = {
              'md2_rsa': 'md2',
              'md5_rsa': 'md5',
              'sha1_rsa': 'sha1',
              'sha224_rsa': 'sha224',
              'sha256_rsa': 'sha256',
              'sha384_rsa': 'sha384',
              'sha512_rsa': 'sha512',
              'sha1_dsa': 'sha1',
              'sha224_dsa': 'sha224',
              'sha256_dsa': 'sha256',
              'sha1_ecdsa': 'sha1',
              'sha224_ecdsa': 'sha224',
              'sha256_ecdsa': 'sha256',
              'sha384_ecdsa': 'sha384',
              'sha512_ecdsa': 'sha512',
          }
          if algorithm in algo_map:
              return algo_map[algorithm]
  
          if algorithm == 'rsassa_pss':
              return self['parameters']['hash_algorithm']['algorithm'].native
  
          raise ValueError(unwrap(
              '''
              Hash algorithm not known for %s
              ''',
              algorithm
          ))
docs: :return:
              A unicode string of "md2", "md5", "sha1", "sha224", "sha256",
              "sha384", "sha512", "sha512_224", "sha512_256"