Truncating to a given bit length
    13 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Buddhini Angelika
 le 30 Déc 2015
  
    
    
    
    
    Commenté : Walter Roberson
      
      
 le 6 Jan 2016
            I have a gui which gives a result as follows. Result=a253ff09c5a8678e1fd1962b2c329245e139e45f9cc6ced4e5d7ad42c4108fc0. Is there a way to truncate the above result to a given bit length? (Say bit lengths of 19,13,10 etc.)
Please help me with the above question.
Thanks a lot in advance.
1 commentaire
  Walter Roberson
      
      
 le 30 Déc 2015
				This question seems likely to be related to http://uk.mathworks.com/matlabcentral/answers/262105-using-hash-functions-editing-contents-of-uitable and might even be the same question.
Réponse acceptée
  Walter Roberson
      
      
 le 30 Déc 2015
        Assuming Result is a string and assuming that the values represent hex,
NeededBitLength = 19;   %for example
bitvec = reshape(dec2bin(sscanf(Result,'%1x'),4).',1,[]);
bitvec = bitvec(end-NeededBitLength+1 : end);
truncatedResult = bin2dec(bitvec);
Caution: if you need more than 53 bits this version will not work.
4 commentaires
  Walter Roberson
      
      
 le 6 Jan 2016
				I am certain that SHA-256 does not expect you to work with word lengths of more than 64 bits. Typical implementations work with arrays of 32 bit words.
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Logical dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

