@yossiz עברתי על הקישור ששלחת, וניסיתי והחזיר שגיאה ולאחר קריאה מעמיקה של הפוסט נכתב שם כך:
הערות על הקוד
חשוב. נמצא כי שגרות hash שגיאה בהגדרת Windows 10, 64 סיביות Office. עם זאת, בדיקה שלאחר מכן גילתה את הפתרון. פלטפורמת Windows חייבת לכלול את Net Framework 3.5 (כולל .Net 2 ו- .Net 3), גירסה ישנה זו, ולא רק את השירותים המתקדמים של Net Framework 4.8 שהופעלו בהפעלה וביטול של תכונות Windows. כאשר הוא נבחר שם, השגרה עבדה בצורה מושלמת.
קוד ה- VBA להלן יוצר את התקצירים עבור קודי hash MD5, SHA1, SHA2-256, SHA2-384 ו- SHA2-512, עבור מחרוזות, באחת מתבניות הפלט hex או base-64. קידודים אלה עושים שימוש בפונקציות המובנות של MS Office, ומספקים תוצאות עקביות. צוין כי יישומים מקוריים במקומות אחרים עבור אותם תקצירים יכולים להיות שונים מאוד בתפוקות שלהם. רק דוגמה אחת ניתנה עם פרמטר זרע או מלח (StrToSHA512Salt), ויש לציין כי פלט המחלקה HMACSHA512 שונה מגיבובי המחלקה SHAManaged שניתנו בשאר. הכיתות המנוהלות נותנות את התוצאות הטובות ביותר המדווחות באופן נרחב. שים לב להפניות VBA הדרושות לפעולה נכונה. תזכורת לכך ניתנת בכמה כותרות נהלים.*
בכל מקרה, מתכנתים יכולים למצוא את ערכי הגיבוב שלא השתנו במערך הבתים() ובנקודה זו הם נמצאים בבתים של 8 סיביות, כלומר, המספרים המייצגים את קוד ASCI כפי שהוא חל על ערכת שמונה סיביות מלאה, 256 תווים. הקוד שלאחר מילוי מערך הבתים() בכל אחד מהמקרים קובע איזו גירסה של ערכת תווי ASCI לספק. עבור ערכת תווים משושה, 0-9 ו- A עד F, ערכת הסיביות הכוללת מחולקת למספר כפול של ארבעה בתים, ולאחר מכן מוחזרת לשימוש. עבור קבוצת Base-64, אותיות קטנות, אותיות גדולות ומספרים שלמים בעיקר, תווים של שישה סיביות מיוצרים לפלט. שתי קבוצות אלה הן השימושיות ביותר כאן, שכן הן מורכבות מתווים נפוצים. ערכות ASCI 128 ו- 256 מלאות מדי בתווים אקזוטיים ולא מודפסים מכדי להיות שימושיים. עבור כל גרסת גיבוב ספירת הסיביות שלה היא קבועה, ולכן אורך הפלט שלה ישתנה בהתאם לסוג שנבחר.
וכפי שאני מבין אני צריך להיות מוגבל עם הקוד הזה שזה יעבוד רק למי שמותקן אצלו Net Framework 3.5 (כולל .Net 2 ו- .Net 3) שהיא גירסה ישנה ואני רוצה שיעבוד לכל מי שאני מביא לו את התוכנה (קודים מעין אלו הgpt הביא לי בכמויות...)