小编Ste*_*ton的帖子

c#AES解密

我正在使用SagePay Forms,目前正在将他们的VB示例转换为c#.我取得了很好的进展,所以我的项目的加密部分工作正常(SagePay可以解密).

我遇到的问题是,当我尝试解密字符串时,它会变成垃圾.如果有人这样做之前我真的很感激我的解密代码的一些帮助.我已经包含了有效的加密代码,前两行是来自另一种方法的设置和调用.

我没有添加VB代码,但如果需要,我可以添加它.如果不需要,不想要一个巨大的帖子.

实用方法:

public string byteArrayToHexString(byte[] ba)
    {
    return BitConverter.ToString(ba).Replace("-", "");
    }

public static byte[] StringToByteArray(string hex)
    {
        return Enumerable.Range(0, hex.Length)
                         .Where(x => x % 2 == 0)
                         .Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
                         .ToArray();
    }
Run Code Online (Sandbox Code Playgroud)

主加密方法,前几行是从较大的方法中提取的调用.

string crypt = "blahblahblah"
string EncryptAndEncode = "@" + byteArrayToHexString(aesEncrypt(crypt));


        private byte[] aesEncrypt(string inputText)
    {

        RijndaelManaged AES = new RijndaelManaged();

        //set the mode, padding and block size for the key
        AES.Padding = PaddingMode.PKCS7;
        AES.Mode = CipherMode.CBC;
        AES.KeySize = 128;
        AES.BlockSize = 128; …
Run Code Online (Sandbox Code Playgroud)

c# encryption aes opayo

4
推荐指数
1
解决办法
3万
查看次数

使用Iframe解决方案的Azure AD Owin

我有一个应用程序,设置使用Owin和Azure AD.它运行良好,但我现在需要在iframe内运行作为第三方解决方案的一部分.

除了安全性之外,这是可以的. https://login.microsoftonline.com不允许在iframe内运行.我的控制器将检查用户是否经过身份验证,如果没有,请调用'HttpContext.GetOwinContext().Authentication.Challenge(..............'

在研究中,我看起来不太可能在框架内做任何事情.我是唯一一个创建登录页面的选项,该页面会重定向到包含iframe的客户端应用程序吗?如果此过期,则iframe当前显示错误,指出内容无法在框架中显示,这不是很优雅.

iframe owin asp.net-mvc-5 azure-active-directory

3
推荐指数
1
解决办法
1472
查看次数

无法在最新版本的 IdentityModel.Tokens 中设置有效受众

我已更新 System.IdentityModel.Tokens.jwt,它警告我在较低的代码块中使用“Audience”已过时。我做了一些研究,发现让观众前进的正确方法是:

var validationParameters = new TokenValidationParameters()
{
    ValidAudience = ConfigurationManager.AppSettings["ida:AudienceUri"]
};
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何将两者结合在一起?

public void ConfigureAuth(IAppBuilder app)
{
     app.UseWindowsAzureActiveDirectoryBearerAuthentication( 
        new WindowsAzureActiveDirectoryBearerAuthenticationOptions 
         {
            Audience = ConfigurationManager.AppSettings["ida:AudienceUri"], 
            //TokenValidationParameters.validAudience = ConfigurationManager.AppSettings["ida:AudienceUri"],
            Tenant = ConfigurationManager.AppSettings["ida:Tenant"] 
         }); 


    app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
    app.UseCookieAuthentication(new CookieAuthenticationOptions()
    {
    });
    app.UseWsFederationAuthentication(
    new WsFederationAuthenticationOptions
    {
        Wtrealm = realm,
        MetadataAddress = metadata
    });
}
Run Code Online (Sandbox Code Playgroud)

}

c# azure azure-active-directory

1
推荐指数
1
解决办法
1725
查看次数

Javascript日期添加天数

var date = new Date();
var date2 = new Date();          
daysinadvance = document.getElementById('AdvanceDays').value;
date2.setDate(date.getDate()+daysinadvance);
console.log(date2 + date + daysinadvance);

Fri Jan 28 2022 18:13:43 GMT+0000 (GMT Daylight Time)  
Mon Apr 28 2014 18:13:43 GMT+0100 (GMT Standard Time)
60
Run Code Online (Sandbox Code Playgroud)

如果我传入一个直接输入的数字,所以+ 60,它工作正常,但使用变量,我在2022年得到一个日期.我想要的是date2为当前日期+ 60天所以我可以更新我的验证.

有什么帮助吗?

javascript

0
推荐指数
1
解决办法
413
查看次数