{"id":1856,"date":"2025-09-25T07:00:16","date_gmt":"2025-09-25T07:00:16","guid":{"rendered":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856"},"modified":"2025-09-25T07:38:46","modified_gmt":"2025-09-25T07:38:46","slug":"harjutus-12","status":"publish","type":"page","link":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856","title":{"rendered":"Harjutus 12"},"content":{"rendered":"\n<p><strong>Loome kaust &#8220;passwordHash&#8221; nimega, ja avame webstorm.<\/strong><\/p>\n\n\n\n<p><strong>Loome fail &#8220;generateHah.js&#8221; ja kirjutame seal selline kood:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>const bcrypt = require('bcrypt');\nconst myPassword = 'kirillsats';\n\nconsole.time('Time to generate salt');\nconst salt = bcrypt.genSaltSync(10);\nconsole.log('This is your salt:' + salt);\nconsole.timeEnd('Time to generate salt');\n\nconsole.time('Time to generate hash');\nconst hashedPassword = await bcrypt.hash(myPassword, salt);\nconsole.log(myPassword + 'is your password &amp; this is your password after hashing it: ' + hashedPassword);\nconsole.timeEnd('Time to generate hash');<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">const<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">bcrypt<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">require<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">bcrypt<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">const<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">myPassword<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">kirillsats<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">console<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">time<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Time to generate salt<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">const<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">salt<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">bcrypt<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">genSaltSync<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #B48EAD\">10<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">console<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">log<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">This is your salt:<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">+<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">salt<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">console<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">timeEnd<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Time to generate salt<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">console<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">time<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Time to generate hash<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">const<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">hashedPassword<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">await<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">bcrypt<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">hash<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">myPassword<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">salt<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">console<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">log<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">myPassword<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">+<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">is your password &amp; this is your password after hashing it: <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">+<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">hashedPassword<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">console<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">timeEnd<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">Time to generate hash<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Seej\u00e4rel kirjutame terminalis:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm - y\nnmp install bcrypt<\/code><\/pre>\n\n\n\n<p><strong>Ja alustame:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/kirillsats23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/E0BA5512-1737-4FCC-887F-FD400141BD3D.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"93\" src=\"https:\/\/kirillsats23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/E0BA5512-1737-4FCC-887F-FD400141BD3D-1024x93.png\" alt=\"\" class=\"wp-image-1857\" srcset=\"https:\/\/kirillsats23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/E0BA5512-1737-4FCC-887F-FD400141BD3D-1024x93.png 1024w, https:\/\/kirillsats23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/E0BA5512-1737-4FCC-887F-FD400141BD3D-300x27.png 300w, https:\/\/kirillsats23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/E0BA5512-1737-4FCC-887F-FD400141BD3D-768x70.png 768w, https:\/\/kirillsats23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/E0BA5512-1737-4FCC-887F-FD400141BD3D-624x57.png 624w, https:\/\/kirillsats23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/E0BA5512-1737-4FCC-887F-FD400141BD3D.png 1077w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Kokkuv\u00f5te:<\/p>\n\n\n\n<p><strong>Parooli soolamine (Password salting)<\/strong> &#8211; lisab parooli ette v\u00f5i taha juhuslikke m\u00e4rke enne parooli r\u00e4si arvutamist, et muuta tegelik parool raskemini \u00e4ratuntavaks ja kaitsta seda lihtsate r\u00fcnnakute <\/p>\n\n\n\n<p><strong>Parooli r\u00e4si (Password hashing)<\/strong> &#8211; on \u00fchesuunaline protsess, mis muudab parooli r\u00e4si kujul olevaks tekstiks, kasutades spetsiaalseid r\u00e4siarvutusalgoritme.<\/p>\n\n\n\n<p>\ue97c<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Loome kaust &#8220;passwordHash&#8221; nimega, ja avame webstorm. Loome fail &#8220;generateHah.js&#8221; ja kirjutame seal selline kood: Seej\u00e4rel kirjutame terminalis: Ja alustame: Kokkuv\u00f5te: Parooli soolamine (Password salting) &#8211; lisab parooli ette v\u00f5i taha juhuslikke m\u00e4rke enne parooli r\u00e4si arvutamist, et muuta tegelik parool raskemini \u00e4ratuntavaks ja kaitsta seda lihtsate r\u00fcnnakute Parooli r\u00e4si (Password hashing) &#8211; on \u00fchesuunaline [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1856","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Harjutus 12 - Kirill Sats &otilde;pimapp | portfoolio<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856\" \/>\n<meta property=\"og:locale\" content=\"et_EE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Harjutus 12 - Kirill Sats &otilde;pimapp | portfoolio\" \/>\n<meta property=\"og:description\" content=\"Loome kaust &#8220;passwordHash&#8221; nimega, ja avame webstorm. Loome fail &#8220;generateHah.js&#8221; ja kirjutame seal selline kood: Seej\u00e4rel kirjutame terminalis: Ja alustame: Kokkuv\u00f5te: Parooli soolamine (Password salting) &#8211; lisab parooli ette v\u00f5i taha juhuslikke m\u00e4rke enne parooli r\u00e4si arvutamist, et muuta tegelik parool raskemini \u00e4ratuntavaks ja kaitsta seda lihtsate r\u00fcnnakute Parooli r\u00e4si (Password hashing) &#8211; on \u00fchesuunaline [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856\" \/>\n<meta property=\"og:site_name\" content=\"Kirill Sats &otilde;pimapp | portfoolio\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-25T07:38:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kirillsats23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/E0BA5512-1737-4FCC-887F-FD400141BD3D.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1077\" \/>\n\t<meta property=\"og:image:height\" content=\"98\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1856\",\"url\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1856\",\"name\":\"Harjutus 12 - Kirill Sats &otilde;pimapp | portfoolio\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1856#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1856#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/E0BA5512-1737-4FCC-887F-FD400141BD3D-1024x93.png\",\"datePublished\":\"2025-09-25T07:00:16+00:00\",\"dateModified\":\"2025-09-25T07:38:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1856#breadcrumb\"},\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1856\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1856#primaryimage\",\"url\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/E0BA5512-1737-4FCC-887F-FD400141BD3D.png\",\"contentUrl\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/E0BA5512-1737-4FCC-887F-FD400141BD3D.png\",\"width\":1077,\"height\":98},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?page_id=1856#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Harjutus 12\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/#website\",\"url\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/\",\"name\":\"Kirill Sats &otilde;pimapp | portfoolio\",\"description\":\"Noorem Tarkvaarendaja eriala\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/kirillsats23.thkit.ee\\\/wp\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"et\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Harjutus 12 - Kirill Sats &otilde;pimapp | portfoolio","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856","og_locale":"et_EE","og_type":"article","og_title":"Harjutus 12 - Kirill Sats &otilde;pimapp | portfoolio","og_description":"Loome kaust &#8220;passwordHash&#8221; nimega, ja avame webstorm. Loome fail &#8220;generateHah.js&#8221; ja kirjutame seal selline kood: Seej\u00e4rel kirjutame terminalis: Ja alustame: Kokkuv\u00f5te: Parooli soolamine (Password salting) &#8211; lisab parooli ette v\u00f5i taha juhuslikke m\u00e4rke enne parooli r\u00e4si arvutamist, et muuta tegelik parool raskemini \u00e4ratuntavaks ja kaitsta seda lihtsate r\u00fcnnakute Parooli r\u00e4si (Password hashing) &#8211; on \u00fchesuunaline [&hellip;]","og_url":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856","og_site_name":"Kirill Sats &otilde;pimapp | portfoolio","article_modified_time":"2025-09-25T07:38:46+00:00","og_image":[{"width":1077,"height":98,"url":"https:\/\/kirillsats23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/E0BA5512-1737-4FCC-887F-FD400141BD3D.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856","url":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856","name":"Harjutus 12 - Kirill Sats &otilde;pimapp | portfoolio","isPartOf":{"@id":"https:\/\/kirillsats23.thkit.ee\/wp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856#primaryimage"},"image":{"@id":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856#primaryimage"},"thumbnailUrl":"https:\/\/kirillsats23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/E0BA5512-1737-4FCC-887F-FD400141BD3D-1024x93.png","datePublished":"2025-09-25T07:00:16+00:00","dateModified":"2025-09-25T07:38:46+00:00","breadcrumb":{"@id":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856#breadcrumb"},"inLanguage":"et","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856"]}]},{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856#primaryimage","url":"https:\/\/kirillsats23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/E0BA5512-1737-4FCC-887F-FD400141BD3D.png","contentUrl":"https:\/\/kirillsats23.thkit.ee\/wp\/wp-content\/uploads\/2025\/09\/E0BA5512-1737-4FCC-887F-FD400141BD3D.png","width":1077,"height":98},{"@type":"BreadcrumbList","@id":"https:\/\/kirillsats23.thkit.ee\/wp\/?page_id=1856#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kirillsats23.thkit.ee\/wp\/"},{"@type":"ListItem","position":2,"name":"Harjutus 12"}]},{"@type":"WebSite","@id":"https:\/\/kirillsats23.thkit.ee\/wp\/#website","url":"https:\/\/kirillsats23.thkit.ee\/wp\/","name":"Kirill Sats &otilde;pimapp | portfoolio","description":"Noorem Tarkvaarendaja eriala","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kirillsats23.thkit.ee\/wp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"et"}]}},"_links":{"self":[{"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/pages\/1856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1856"}],"version-history":[{"count":2,"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/pages\/1856\/revisions"}],"predecessor-version":[{"id":1860,"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=\/wp\/v2\/pages\/1856\/revisions\/1860"}],"wp:attachment":[{"href":"https:\/\/kirillsats23.thkit.ee\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}