Muut kryptografiset toteutukset Omien kryptografisten toteutuksien tekemistä tulee välttää. Käytettäessä kryptografisia kirjastoja on suositeltavaa käyttää tunnettuja ja aktiivisesti ylläpidettyjä kirjastoja, jotka tarjoavat korkean tason rajapinnat kryptografisiin operaatioihin. Matalan tason kryptografisten primitiivien käyttöä tulee välttää. Algoritmi- ja avainpituusvalinnoissa seurataan TLS 1.2:n valintojen periaatteita, jotka on määritetty luvussa 12.1.4 Salausalgoritmit. Alla on esimerkkejä satunnaisen tunnisteen luomiseen eri ohjelmointikielillä. Esimerkit saattavat olla osin vanhentuneita, siksi satunnaista tunnistetta luodessa tuleekin noudattaa periaatetta, jonka mukaan tunnisteen pituudeksi tulee määrittää vähintään 32 tavua / 256 bittiä. Lisäksi on suositeltavaa selvittää käytettävän ohjelmointikielen omasta dokumentaatiosta tai muusta luotettavasta lähteestä ajantasainen ja turvallinen kryptografinen menetelmä ja/tai kirjasto, jota voi käyttää satunnaisen tunnisteen luontiin.
Code Block |
---|
| import java.util.SecureRandom;
SecureRandom random = new SecureRandom();
byte bytes[] = new byte[32];
random.nextBytes(bytes); |
Code Block |
---|
language | py |
---|
title | Python 3.6 ja uudemmat |
---|
| # Python 3.6 ja uudemmat
import secrets
secrets.token_urlsafe()
# Python ennen versiota 3.6
import random
generator = random.SystemRandom()
generator.getrandbits(256) |
Code Block |
---|
language | js |
---|
title | JavaScript |
---|
| var array = new Uint32Array(8);
window.crypto.getRandomValues(array).join(""); |
|