代码之家  ›  专栏  ›  技术社区  ›  Matt

如何从另一个脚本C获取变量#

  •  0
  • Matt  · 技术社区  · 6 年前

    我完全被卡住了,我觉得这也是一个简单的问题。基本上,我有两个字符串 pubKey privKey 在一个名为 WalletGen.cs 我想在 Loader.cs 。在我寻找答案的过程中,我所能找到的就是如何在统一中做到这一点,但由于我 使用统一。

    以下是的代码 WalletGen。cs公司

    namespace scriptcoin
    {
        public class WalletGen
        {
            static void WalletHash()
            {
                Random rnd = new Random();
                int seed = rnd.Next();
    
                byte[] data = BitConverter.GetBytes(seed);
                byte[] pubData;
                byte[] privData;
    
                SHA384 pubHash = new SHA384Managed();
                pubData = pubHash.ComputeHash(data);
                pubData = pubHash.ComputeHash(pubData);
                seed = rnd.Next();
                SHA256 privHash = new SHA256Managed();
                privData = privHash.ComputeHash(data);
    
                string pubKey = Convert.ToBase64String(pubData);
                string privKey = Convert.ToBase64String(privData);
            }
        }
    }
    

    我没有任何特定的代码 装载机。cs公司 因为我想不出来。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Jim W    6 年前

    由于您的代码处于现有状态,您无法访问pubKey或privKey,因为它们仅存在于方法的范围内 WalletHash

    要揭露他们,你可以从 瓦莱塔什 ,例如。

        public static Tuple<string, string> WalletHash()
        {
            Random rnd = new Random();
            int seed = rnd.Next();
    
            byte[] data = BitConverter.GetBytes(seed);
            byte[] pubData;
            byte[] privData;
    
            SHA384 pubHash = new SHA384Managed();
            pubData = pubHash.ComputeHash(data);
            pubData = pubHash.ComputeHash(pubData);
            seed = rnd.Next();
            SHA256 privHash = new SHA256Managed();
            privData = privHash.ComputeHash(data);
    
            string pubKey = Convert.ToBase64String(pubData);
            string privKey = Convert.ToBase64String(privData);
            return new Tuple<string, string>(pubKey, privKey);
        }
    

    然后在Loader中,从 瓦莱塔什 这样(假设您当前正在呼叫 瓦莱塔什 来自装载机。

    Tuple<string, string> keys = WalletGen.WalletHash();
    string pubKey = keys.Item1;
    string privKey = keys.Item2;