Hello Everybody! π€ π€ π
In this post I explain a little how SHA algorithm works which is responsible for generating the CommitsId in git, and that it is almost impossible to have one of these repeated.

SHA (Secure Hash Algorithm)
Algorithm developed by NIST and published as federal standard for information processing (FIBS PUB 180); in 1995 a revised version was published as FIBS PUB 180-1 known as SHA-1. π€ π€ π
The algorithm takes as input messages of maximum length of 264 bits that are processed in blocks of 512 bits. π€ π€ π
The algorithm is generated with the following steps ...
1- Fill bits are added to the input message in such a way that it matches: length. The padding consists of a one followed by any zeros that are needed. Although the message already has the desired length, the padding must be performed, so the number of bits in the padding is in the range of 1 to 512 bits. π€ π€ π
2 - At the output of step 1, a 64-bit block is added that represents the length of the original message before being filled. π€ π€ π
3- The MD temporary memory, which consists of 160 bits, is initialized and its purpose is to store the intermediate and final results of the scatter function. π€ π€ π The MD consists of 5 registers (A, B, C, D, E) of 32 bits each, the values with which they are initialized are the following (hexadecimal values):
A= 67452301
B= EFCDAB89
C= 98BADCFE
D= 10325476
E= C3D2E1F0
4- The message is processed in blocks of 512 bits, each one goes through a module that consists of 4 processing rounds of 20 steps each. π€ π€ π The rounds have a similar structure, except that each occupies a different primitive logic function (f1, f2, f3 and f4).
The input to each round consists of the 512-bit block being processed (Yq) and the 160-bit MD memory, note that each block of 512 bits will update the value of the temporary memory. Each round also makes use of the additive constant Kt, where t indicates one of the 80 steps along the four rounds.
5- Once the L blocks of 512 bits are processed, the summary of the message is the 160 bits of output of the last block.
Well that is the operation of this algorithm.
Regards! π€ π€
Este Post ha recibido un Upvote desde la cuenta del King: @dineroconopcion, El cual es un Grupo de Soporte mantenido por 5 personas mas que quieren ayudarte a llegar hacer un Top Autor En Steemit sin tener que invertir en Steem Power. Te Gustaria Ser Parte De Este Projecto?
This Post has been Upvote from the King's Account: @dineroconopcion, It's a Support Group by 5 other people that want to help you be a Top Steemit Author without having to invest into Steem Power. Would You Like To Be Part of this Project?
Congratulations! This post has been upvoted from the communal account, @minnowsupport, by juanpchica from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews/crimsonclad, and netuoso. The goal is to help Steemit grow by supporting Minnows and creating a social network. Please find us in the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.
Congratulations @juanpchica! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP