Thread seperti ini yang kita butuhkan,bisa menambah ilmu kepada member-member pemula.
Karena dalam permasalahan wallet adalah bagian dasar untuk kita gabung ke dunia cryptocurrency.
Kalau bagian dasarnya saja kita tidak paham bagaimana mungkin kita melanjutkan pembelajaran ke fase-fase berikutnya setelah wallet.
Dengan metode ini apabila kita lupa menyimpan private key,bisakah digunakan?
Threadnya keren banget, walaupun telat tahu keberadaan thread ini, tapi sangat membantu untuk mempelajari topik-topik lainnya. Trims untuk om mu_enrico dan master-master lain yang sudah berkontribusi di thread ini.
<...>
Biner, heksadesimal, dan desimal itu adalah sistem bilangan yang memiliki basis n-angka yang berbeda. Biner (basis-2), desimal (basis-10), dan heksadesimal (basis-16). Jadi bisa diibaratkan kalau main petak umpet, desimal akan menghitung dari 0-9, biner 0-1, dan heksadesimal dari 0-F. Ketiga sistem bilangan itu bisa dikonversi dari sistem bilangan satu ke sistem bilangan yang lain. Manusia menggunakan sistem bilangan desimal karena sudah familiar dan nyaman.
Komputer dan perangkat elektronik sendiri menggunakan biner karena dengan mudah bisa merepresentasikan 0 dan 1. Misalnya 0 = 0 VDC dan 1 = 5 VDC. Namun penggunaan biner sedikit menyulitkan programer karena biner tidak human-friendly. Misalnya 0011101010111010, yang rentan salah tulis dan tidak enak untuk dibaca. Oleh karena itu,
bilangan heksadesimal digunakan untuk merepresentasikan bilangan biner sehingga lebih human-friendly1.
Satu angka heksadesimal sendiri dapat merepresentasikan empat bit bilangan biner2, sehingga untuk mengubah dari biner ke heksa secara manual,
biasanya diberi spasi per empat bit3. 0011 1010 1011 1010 = 3ABA. (lihat tabel konversi
https://ascii.cl/conversion.htm)
<...>
Terima kasih atas penjelasan no 1,2&3. Materi dasar banget tapi bertahun-tahun saya tidak pernah mengerti jawabannya. maklum belajar programming hanya otodidak, tidak pernah ikut kelas Computer Science.
Kenapa biner digunakan dan bagaimana hubungannya dengan desimal dan bit atau byte sudah saya ketahui sejak lama. Tetapi untuk heksadesimal (disebut juga heksa atau hex) selalu menjadi misteri, kenapa digunakan dan bagaimana hubungannya dengan biner,bit atau byte. Selama ini pengetahuan saya hanya sebatas cara konversi heksadesimal ke sistem lain, padahal heksadesimal sangat umum digunakan di literatur programming. Setelah membaca penjelasan di atas, rasanya seperti langsung ada yang meletus.
Saya coba bagikan sedikit pemahaman yang didapat dari penjelasan om mu_enrico yang menurut saya sangat penting untuk bisa lebih memahami dunia programing. mudah-mudahan juga bermanfaat buat yang lain.
Desimal adalah sistem bilangan yang sangat umum kita kenal yaitu angka 0-9 selanjutnya disebut basis 10. Karena terdiri dari 10 angka, silahkan dihitung sendiri agar lebih meyakinkan.. saya pikir sistem ini tidak perlu dijelaskan lagi.
BinerAdalah sistem bilangan yang terdiri dari angka 0 dan 1, disebut basis 2. sistem ini digunakan oleh komputer dan peralatan lainnya. karena komputer menggunakan listrik yang kondisinya hanya 2 yaitu nyala atau mati. mati direpresentasikan sebagai 0 dan nyala direpresentasikan sebagai 1. Setiap angka di sistem bilangan biner adalah 1 bit dimana 8 bit =1 byte.
Misalnya ada angka biner 11 atau 00 artinya 2 bit. Karena biner adalah bilangan basis 2, artinya 2 bit bisa terdiri dari 2^2=4 kemungkinan. yaitu 00,01,10 dan 11. Begitu juga untuk 4 bit menjadi 2^4. Atau 1 byte ( 8bit) maka menjadi 2^8.
Cara menghitung biner dimulai dari 0 kemudian 1, selanjutnya kembali ke 0 tetapi menaikkan angka disebelah kiri menjadi 1. Misalnya :
0
1
10
11
100
.. dan seterusnya.
Bagi saya untuk memahami biner dengan bit atau byte relatif mudah.
HeksadesimalSeperti yang sudah dijelaskan om mu_enrico, adalah sistem bilangan dari 0-F.
Yang menjadi pertanyaan saya selama ini adalah
1. Kenapa sih sistem bilangan heksa sering digunakan dalam programming, kok bukan biner?
2. Kenapa juga biner seringkali ditulis diberi spasi per empat bit?
3. Bagaimana hubungan heksa dengan biner dan bit serta byte?
Karena sering kali dalam programming istilah bit dan byte digunakan lalu diberikan keterangan dalam heksa bukan biner.
Biasanya jika membaca topik semacam ini selalu saya lewatkan, karena tidak bisa menemukan benang merahnya. Yang dikerjakan sekedar code bisa jalan, dengan mengandalkan converter. Tanpa memahami essensinya.
Pencerahan yang didapat..No 1 sudah terjawab di atas, yaitu penggunaan heksa untuk memudahkan atau lebih user-friendly.
No 2 juga sudah terjawab di atas, yaitu Satu angka heksadesimal sendiri dapat merepresentasikan empat bit bilangan biner
No 3 adalah masalah sangat penting bagi programmer, jika tidak menguasai hal ini maka akan kesulitan untuk memahami teknik programming tingkat lanjut.
Kalimat ini yang membuat saya serasa meletus
"Satu angka heksadesimal sendiri dapat merepresentasikan empat bit bilangan biner".
Ternyata jawabannya sangat sederhana yaitu karena heksadesimal adalah basis 16, maka jika dikonversi ke biner maka menjadi 4 bit, didapat dari 2^4 =16. Cara penulisan 4 bit misalnya 0000 atau 1000 atau 1010. Sehingga seringkali dituliskan dengan memberi spasi 4 bit.
Dengan pencerahan ini saya menjadi lebih bisa menikmati bacaan selanjutnya, sekali lagi terima kasih.
CMIIW
<...>
Pelajaran
1. Peserta memahami apa itu bruteforce dan mengetahui betapa sulitnya membobol keamanan privkey bitcoin.
Privkey bitcoin terdiri dari 32 byte (64 digit hex)1 yang memiliki kombinasi 2256 atau 1077 yang mustahil untuk dipecahkan menggunakan teknologi saat ini. Dalam tantangan ini ane mempermudah hal ini dengan memberikan privkey minus satu atau dua digit terakhir sehingga bruteforce hanya cukup mencoba:
> 1-digit hex: 16 kombinasi (0-F)
> 2-digit hex: 256 kombinasi (00-FF)2
<....>
Sebagai contoh pengertian tentang heksa dengan biner,bit dan byte sangat membantu pemahaman adalah ketika membaca tulisan seperti di atas. Sebelum saya memahami hubungan Heksa dengan biner, bit dan byte maka sulit untuk membayangkan pengertian tulisan 1 dan 2 di atas. Biasanya ketika membaca tulisan semacam ini langsung dilewatkan saja, tanpa mengerti essensinya. Tetapi setelah mengerti hubungan heksadesimal dengan binari,bit dan byte, maka secara otomatis langsung terbayang hal sbb:
1.
32 byte (64 digit hex) penjelasannya adalah :
- 4 bit = 1 heksa.
- 8 bit = 2 heksa = 1 byte
- Jadi 32 byte = 32 x 2 heksa = 64 heksa.
2.
2-digit hex: 256 kombinasi (00-FF) - Heksa adalah basis 16
- Jadi 2 heksa = 16^2 = 256
- Bukankah 2^8 = 256 juga?
3. Begitu juga jika ada yang menulis 2 heksa misalnya
FF atau 00, langsung bisa dipahami sebagai 1 byte.
Dimana 1 heksa = 4 bit, maka 2 heksa = 8 bit. Bukankah 8 bit = 1 byte?