I greu cyfrinair SSHA bydd angen i chi greu hash SHA1 o'r cyfrinair gyda'r halen wedi'i atodi i'r llinyn (cyfrinair + halen). Cymerwch yr hash hwn a'i amgodio â sylfaen 64 gyda'r halen wedi'i atodi (SHA1 + halen). Edrychwch ar yr enghreifftiau sydd ynghlwm neu sgript enghreifftiol mewn astorfa gymunedol yn Github.
Mae mewnforio ffeiliau CSV defnyddwyr Canvas yn caniatáu ichi fewnforio cyfrineiriau defnyddwyr testun plaen neu gyfrineiriau defnyddwyr wedi'u hasio ymlaen llaw. Byddwn yn dechrau gyda QA cyflym.
C: Dydw i ddim yn gwybod beth yw hash cryptograffig, alla i ddefnyddio hwn o hyd?
A: Os nad ydych chi'n gyfarwydd â hashes, mae'n debyg nad yw'r llif gwaith hwn ar eich cyfer chi. Mae cynhyrchu llinyn wedi'i fformatio'n gywir ar gyfer Canvas braidd yn gymhleth ac mae'r ddogfen hon wedi'i chynllunio ar gyfer datblygwyr/staff TG yn eich sefydliad.
C: Wnes i erioed sylweddoli fy mod i'n peryglu fy defnyddwyr. Ai dyma ddiwedd y byd?
A: Na. Mae mewnforio SIS yn digwydd dros https felly mae data yn dal i gael ei amgryptio. Mae hasio cyfrineiriau yn ychwanegu haen ychwanegol o ddiogelwch. Ond os gallwch chi weithredu hyn, mae'n well ganddo anfon cyfrineiriau testun plaen.
C: Mae gen i CAS (neu SAML neu LDAP) sut mae hyn yn effeithio arnaf i?
A: Mae'n bosibl bod hyn yn effeithio arnoch chi a'ch defnyddwyr ond mae'n debyg nad yw. Mae hyn ar gyfer defnyddwyr sy'n dilysu trwy ddilysu Canvas.
C: A allaf ddefnyddio hwn ar gyfer defnyddwyr sydd eisoes yn Canvas?
A: Na. Unwaith y bydd defnyddiwr wedi newid ei gyfrinair yn Canvas, ni allwch ddiweddaru'r cyfrinair drwy ffeiliau mewnforio SIS.
Gweithredu Cyfrineiriau SSHA
Bydd angen i chi greu hash SHA1 o'r cyfrinair gyda'r halen wedi'i atodi i'r llinyn (cyfrinair + halen). Cymerwch yr hash hwn a'i amgodio â sylfaen 64 gyda'r halen wedi'i atodi (SHA1 + halen).
I'r dysgwyr gweledol mae gen i gwpl o enghreifftiau isod, sgript PHP a therfynell OS X / Ubuntu (mae'n ddrwg gen i, defnyddwyr Windows).
OS X / Ubuntu
Yn gyntaf cynhyrchwch hash SHA1 y cyfrinair a'r halen. Yn yr enghraifft hon, y cyfrinair yw "password" a'r halen yw "salt".
echo -n passwordsalt | shasum -a 1 | awk '{print $1}'
Gallwch chi wneud yr un peth yn Ubuntu drwy newid shasum i sha1sum. Byddwn i'n dychmygu bod gan y rhan fwyaf o ddosbarthiadau Linux mawr eraill hyn yn ddiofyn hefyd.
echo -n passwordsalt | sha1sum | awk '{print $1}'
Mae hyn yn allbynnu "c88e9c67041a74e0357befdff93f87dde0904214". Felly byddwn yn cymryd yr hash ac yn ei amgodio â base64 gyda'r halen wedi'i atodi i'r llinyn eto.
echo -n 'c88e9c67041a74e0357befdff93f87dde0904214salt' | base64
Y canlyniad yw "Yzg4ZTljNjcwNDFhNzRlMDM1N2JlZmRmZjkzZjg3ZGRlMDkwNDIxNHNhbHQ=". Ychwanegwch "{SSHA}" at y llinyn hwn ac mae'n barod i'w anfon at Canvas. Dylai edrych fel hyn pan wnaethoch chi ei anfon yn y ffeil csv "{SSHA}Yzg4ZTljNjcwNDFhNzRlMDM1N2JlZmRmZjkzZjg3ZGRlMDkwNDIxNHNhbHQ=".
PHP
Neilltuwch eich cyfrinair a'ch newidynnau halen.
$pass = 'password'; $salt = 'salt';
Creu hash SHA1 eich cyfrinair a'ch salt. Dylid ychwanegu'r cyfrinair cyn y salt.
$sha_hash = sha1($pass . $salt);
Mae Base64 yn amgodio'r hash SHA1. Gwnewch yn siŵr eich bod yn ychwanegu'r halen eto at ddiwedd y llinyn.
$encoded_pass = base64_encode($sha_hash . $salt);
Rhowch "{SSHA}" o flaen dechrau'r llinyn wedi'i hashau a'i amgodio.
$hashed_password = "{SSHA}" . $encoded_pass;
Rydych chi nawr yn barod i anfon hwn i Canvas. Ychwanegwch gynnwys $hashed_password at y golofn ssha_password yn y ffeil mewnforio sis users.csv.
Rydw i wedi atodi ffeil CSV enghreifftiol sy'n barod i'w lanlwytho i Canvas a ffeil PHP enghreifftiol i'ch helpu i ddechrau arni. Byddwn i hefyd yn argymell edrych ar sgript python mewnstorfa gymunedol ar Github.