一个适用于非对称加、解密的大数运算的 dll 文件

2019-07-13  本文已影响0人  星星之火666

下载链接:百度网盘链接 1:提取码: hm77
链接 2

1、开发版 dll:
md5: 8567CC03EB71814DE99A85619C8A5A08
sha2-256: 731AC9DC7F494B0F528C31D23CCB4F6EBE9C49DD51F5161E21DBCAB09EE1A401
lib:
md5: 0CD20D7A9AFCBB2884FE263251BB52E4
2、debug 版 dll:
md5: 8B8A40AD57118D019AE7B76D75547D1C
sha2-256: 29070B345860B6D3790A853B6E8965EAD50046E1976DD2912B0075DCF25D2263
lib:
md5: 69438DF1AB1E177DA7A1FF60692CE021
#include<vector>
using namespace std;
#include "bigNumDll.h"

int main()
{
    // 10 进制,arr1=9527402,arr2=-227,arr3=92,arr4=-4256 以此类推
    bigNumber arr1 = { {0,9,5,2,7,4,0,2} ,10 },
        arr2 = { {1,2,2,7},10 }, arr3 = { {0,9,2},10 },
        arr4 = { {1,4,2,5,6} ,10 }, arr5 = { {1,9,5,7},10 },
        arr6 = { {0,9,2,0,6} ,10 }, arr8 = { {0,1,5,3} ,10 }, arr7 = { {0,0},10 };

    bigNumber arr(10);

    // 1000 进制
    //bigNumber arr1 = { {0,999,587,267,237,784,10,2},1000 },
    //  arr2 = { {1,222,562,957} ,1000 }, arr3 = { {0,899,82},1000 },
    //  arr4 = { {1,478,212,675,96},1000 }, arr5 = { {1,998,5,709} ,1000 },
    //  arr6 = { {0,990,212,20,36} ,1000 }, arr8 = { {0,981,85,3},1000 }, arr7 = { {0,0},1000 };

    //bigNumber arr(1000);

    // 10**9 进制,默认进制,所以 与上面的 有所不同
    //bigNumber arr1{ {0,98765432,12345678} },
    //  arr2 = { {1,12312345} }, arr3 = { {0,87687634,234567} },
    //  arr4 = { {1,89898989} }, arr5 = { {1,45645612} },
    //  arr6 = { {0,98984556} }, arr7 = { {0,0} }, arr8 = { {0,45629831} };

    //bigNumber arr;

    // 混合加、减、乘、除、取余
    //arr = arr1 * (arr7 - arr2 - arr3) / (arr6 - arr4) + arr5 * arr5 * arr4 % arr3 - arr1 % arr6;
    //arr = arr1 / arr8 * (arr2 - arr3) * (arr6 - arr4) - arr1 % arr6 + arr6 % arr3;
    //arr = arr1 * arr2 + arr3 % (arr7 - arr4) - arr5 / (arr8 - arr6) / arr3 * arr2;
    //arr = arr1 / (arr3 - arr2) % (arr7 - arr4) * arr6 + arr8;
    arr = arr1 + arr2 - arr3 * arr4 / arr5 % arr6;
    arr.getvalue();
}

以上 dll 文件是经过测试合格的,但有可能有微小的错误,另外本文章可能有叙述不全的地方,欢迎评论提问、指正,帮助我更改错误,共同进步,万分感谢

上一篇 下一篇

猜你喜欢

热点阅读