Go - RSA Key Üretme

Codx

Katılımcı Üye
30 Tem 2017
309
1
Merhabalar, iyi forumlar herkese.

Go ile küçük bir script yapacağız. RSA algoritması ile bir adet private ve bir adet public key oluşturacağız. Bu keyler PEM formatında 2 farklı dosyaya kayıt edilecek.

Kullanacağımız paketler,



Şeklinde olacak. Bu paketler hakkında detaylı bilgiyi https://golang.org/pkg/ buradan bulabilirsiniz.

İlk olarak bir func yazıyoruz. Bu func bir adet int tipinde parametre alacak ve public & private olacak şekilde 2 adet key return edecek. Şu şeklide,



Bir adet public bir adet private key oluşturduk. Şimdi PEM dosyalarını ayarlayalım. Bu fonksiyonda bizim private ve public keylerimiz ve eğer varsa error'umuz return oluyor. Kısaca burada oluşturduğumuz keyleri pem formatına çevirdik. Burada çok detaya girmiyorum çünkü fonksiyonların ne olduğu golang.org adresinde detaylı olarak yazmaktadır.



Şimdi bu fonksiyondan bize 2 adet string dönüyor. Bunları bizim ekrana bastırmamız yetmez bunları bir dosyaya yazdırmamız lazım ki sonra bunları rahatça taşıyabilelim. "Don't Repeat Yourself" diyerek bunu da func yapalım.

Bu fonksiyonun bir geri dönüş değeri olmayacak çünkü sadece dosya olarak çıktı vermesini istiyorum eğer yazdıramazsa o zaman error dönecek. Fakat burada sadece öğrendiğimiz için error vermeyeceğini de bildiğim için _ yaparak err değişkenine alıp null olup olmadığını kontrol etmiyorum.



Şimdi bizim kullanmak için hazırladığımız func'larımız tamam. Her go programı main func'ından çalıştırılmaya başlar bizde şimdi main func'ı yazıyoruz.



main function'ımız bu şeklilde oluyor. Golang key sensitive bir dil olduğu için vimde editlerken bazı yerleri küçük harfle yazmışım büyük olması gerekirken çalıştırdığımda bunları tek tek düzelttim. Kodumuzun son haline https://github.com/0xCodx/RSA-GO adresinden ulaşabilirsiniz.

go run main.go komutundan sonra ise bize iki adet dosya oluşturuyor. Bu dosyaların içeriği şu şekilde



Okuduğunuz için teşekkür eder. İyi forumlar dilerim.
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.