sha256 test per toothOK untuk jaringan saraf

Rekan-rekan yang terhormat.
Saya menemukan sampel terbalik lama saya, sayangnya bukan versi terbaru.

Saya tidak ingat semua detail dengan sangat akurat, percobaan dilakukan pada 2012, tetapi ketika mereka menggali kode, mereka muncul lebih jelas.

Peringatan: Kode lebih lanjut diambil di luar konteks, deskripsi operasinya dibuat dari memori dan mungkin mengandung kesalahan, disediakan hanya untuk tujuan pendidikan.


Ini adalah bagaimana data disiapkan untuk pelatihan dan pengujian jaringan saraf. Pertama, string semacam ini dihasilkan, mereka mewakili hasil yang diinginkan:

spins : 0; server code word : 74b0dc5166334873643c9869327b23c6 spins : 1; server code word : 46e87ccd238e1f29625558ec2ae8944a spins : 2; server code word : 79e2a9e341b71efb2eb141f2507ed7ab spins : 3; server code word : 4db127f8122008545bd062c2515f007c spins : 4; server code word : 140e0f7666ef438d1190cde71f16e9e8 


Kemudian sesuatu seperti ini ternyata hash untuk melatih jaringan saraf.

 FILE *fp; sha256_context stx; int ss,zz,yy,ii,jj,zzi; unsigned long int pdata; fp = fopen("data_src", "rb"); if(!fp) return 1; // bail out if file not found while(fgets(str,sizeof(str),fp) != NULL) { zz=0; // strip trailing '\n' if it exists int len = strlen(str)-1; if(str[len] == '\n') str[len] = 0; sha256_starts( &stx ); sha256_update( &stx, (uint8 *) str, strlen( str ) ); sha256_finish( &stx, sha256sum ); zz=stx.zzz; 

Yang memberi output seperti ini:

 d34453f3c04552ee19cb6734ab71ad124710cfc98401570f73f65cb8cfa2a64d 6cc8ca5b918d1a22d5141494ad08b76a6c67cd5f649744f80d2fad4916b2b6d9 f89e9fd9609099b22924a77a5c8122c06118608c4287fca1cdafe5827249bce7 35280fd1e2289488828004682679452a070ccd90c12072fcb904529ab18e3f9d 1112c4cffb617c835874446f13c4d7d29fa091ba7ac996b776998f89dedffcc1 02e0521aae2d4ecdeb4482bda545bb222e1280ec1f580d5d23e29fb719252f70 

Kemudian semua ini dibuka sedikit demi sedikit:

 // printf("\n\n\nSUM="); //    sha256   printf ("%d 512 512",zz); zf(str1); for( j = 0; j < 32; j++ ) { sprintf(str1,"%s%s",str1, ui2bin(sha256sum[j])); } //   512  while(strlen(str1)<512) { sprintf(str1,"%s%s",str1,"0"); } //printf("%s\n",str1); jj=0; ii=0; //    sha256     while(str2[jj]=str1[ii]) { ii++; jj=jj+2; str2[jj-1]=*" "; } printf("%s",str2); // str2 -  sha2    // printf("\n"); // 

Hasil pekerjaan dalam:

 855 1408 1408 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [...] 

file diumpankan ke jaringan saraf sebagai pelatihan dan sampel uji.
menggunakan perpustakaan FANN, mencoba neuron yang berbeda.
Hasilnya tentu saja, tetapi dicampur. Tidak mungkin mengembalikan sepenuhnya teks asli.
Namun, kadang-kadang bagian dari garis-garis yang tergelincir dipulihkan dengan cukup akurat.
Saya pikir masalah ini memiliki solusi, hanya untuk menemukannya Anda masih perlu berusaha.
Sebagai contoh, masuk akal untuk memberi makan semua variabel internal dari algoritma hashing ke input jaringan selama pelatihan. Masuk akal juga untuk meluncurkan jaringan kompetitif dan mengajarkan jaringan lain untuk mengenali hasil konsultasi.
Eksperimen yang aneh ini sekarang dapat dilakukan lebih mudah daripada 2012.
Dengan munculnya alat-alat seperti Python dengan Tensorflow, sklearn numpy, scipy, dan perbendaharaan repositori, semua ini menjadi lebih mudah untuk diperiksa.

Source: https://habr.com/ru/post/id423839/


All Articles