'SHA1 Message Digest Algorithm Overview' tutorial was cited in a Second Life Twitter OAuth Library code in 2011.

The SHA1 Message Digest Algorithm Overview tutorial was cited in a Second Life Twitter OAuth Library code in 2011.

```Subject: Twitter OAuth Library/HUD
Date: May 28, 2011
Author: Opensource Obscure

//////////////////////////////////////////////////////////////////////
//    by Opensource Obscure - based on:
//    Twitter OAuth Client 1.0: An example client that uses the LSL
OAuth 1.0a
//    Library for Twitter by Babbage Linden.
//
//    Released under the Creative Commons Creative Commons Attribution
-Share Alike 3.0
//
//////////////////////////////////////////////////////////////////////

// Application constants generated by Twitter.
// Set up a new Twitter application here:
// (Opensource Obscure's details in the HUD)
// (Opensource Obscure's details in the HUD)
...

// Inner core of sha1 calculation, based on FIPS 180-1
// http://www.itl.nist.gov/fipspubs/fip180-1.htm
// and some help from
https://www.herongyang.com/crypto/message_digest_sha1.html
// and a bit from lkalif specialized on dwordlists
//
// Takes a dwordlist as input and returns hash as dwordlist
list ProcessSha1(list dwblocks)
{
integer block;
integer blocks = (dwblocks != []) / 16;
integer H0 = 0x67452301;
integer H1 = 0xEFCDAB89;
integer H3 = 0x10325476;
integer H4 = 0xC3D2E1F0;

for (block = 0; block < blocks; block++)
{
list W;
integer t;
integer A = H0;
integer B = H1;
integer C = H2;
integer D = H3;
integer E = H4;

for (t = 0; t < 16; t++)
{
W += [llList2Integer(dwblocks, t + block * 16)];
}
...
```