小编may*_*ʎɐɯ的帖子

使用php和java加密内容

我有一个带有java和PHP文件的应用程序.java文件将内容发送到PHP文件,然后通过HTTP将响应发送到java文件.我有JSON格式的回复.

我想对信息进行加密,并在另一端进行解码,java->phpphp->java(这是最重要的),但我不知道该怎么做.

编辑:我正在尝试BLOWFISH,这是我在PHP中的代码(加密数据并发送到Java)和Java(获取数据并对其进行解码)

PHP

$key = "this is the key";
$crypttext = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $result_json, MCRYPT_MODE_ECB);
echo($crypttext);
Run Code Online (Sandbox Code Playgroud)

JAVA

public String decryptBlowfish(String to_decrypt, String strkey) {
    System.out.println(to_decrypt);
    try {
        SecretKeySpec key = new SecretKeySpec(strkey.getBytes(), "Blowfish");
        Cipher cipher = Cipher.getInstance("Blowfish");
        cipher.init(Cipher.DECRYPT_MODE, key);
        byte[] decrypted = cipher.doFinal(to_decrypt.getBytes());
        return new String(decrypted);
    } catch (Exception e) {
        System.out.println(e.getMessage());
        ;
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)
System.out.println(decryptBlowfish(result, "this is the key"));
Run Code Online (Sandbox Code Playgroud)

我执行的结果是:

Input length must be multiple of 8 when encrypting with padded cipher …
Run Code Online (Sandbox Code Playgroud)

php java encryption

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

为什么 JavaScript 和 HTML 分离是一个好的实践?

我一直在阅读有关 JavaScript 的一些良好实践,其中之一是Unobtrusive JavaScript。第一点引起了我的注意

将功能(“行为层”)与网页的结构/内容和表示分离

在 wiki 页面上,示例之一是您应该将操作绑定到 JS 文件中的事件,而不是 HTML 中。这个例子

<input type="text" name="date" id="date" />
...
window.onload = function() {
    document.getElementById('date').onchange = validateDate;
};
Run Code Online (Sandbox Code Playgroud)

受到青睐

<input type="text" name="date" onchange="validateDate()" />
Run Code Online (Sandbox Code Playgroud)

但是,我想说我更喜欢带有onchange属性的第二个代码而不是第一个代码。我这样做的原因是

  • 它易于阅读并立即清楚该元素上的更改(或任何其他事件)会发生什么。
  • 我不必浏览 JavaScript 文件并查看onchange事件在何处(以及是否)绑定,以及是否存在其他一些事件,例如click#date.
  • AngularJS 等框架已经ng-click并将 HTML 结构与 JS 混合在一起。我为什么不应该?

我读过的不使用不引人注目的 javascript 的缺点是

  • 污染全局命名空间。
  • 创建又长又不可读的内联代码。
  • 如果事件的代码发生更改,您只需在一处进行更改 - 即 JS 文件中。

但我认为缺点是可以解决的。

  • 不要污染命名空间,而是在一个变量中创建应用程序,这样代码看起来就onchange="app.validateDate()"不会发生污染。
  • 内联代码不会被写入,而是被分隔在 JS 文件中的一个函数中,然后像onclick="app.action();".
  • 这不是和在属性中使用函数一样吗onclick?因为最终您必须在两种方法中仅对一个函数进行更改,无论是$('input').change(function () {/* …

html javascript angularjs

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

关于Laravel 5.1安全性

我是Laravel 5.1开发项目的新手

我想学习如何避免安全风险.Laravel确保了什么样的攻击?什么样的攻击Laravel不安全?

使用中间件是处理授权的好方法.

我知道Laravel因CSRF攻击而受到保护.

我应该知道什么吗?SQL注入怎么样?Laravel是否安全?

security laravel laravel-5 laravel-5.1

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

如何计算安卓手机电池的剩余时间?

我正在 Android Studio 上开发电池健康应用程序。我想知道如何计算播放音乐或视频、浏览网站或待机的剩余时间。我见过很多这样的android应用程序,但看不到源代码。我想查看计算播放音乐或视频等剩余时间的示例代码。如果您之前开发过 Android 电池健康应用程序,请分享您的知识。

java android battery

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

Laravel 5.2:找不到类'干预\ Image\ImageServiceProvider'

我正在尝试将干预图像集成到我的项目中.我已经按照指南,使用了其他教程的shitton,无论我做什么,我都会遇到同样的错误:

Class 'Intervention\Image\ImageServiceProvider' not found
Run Code Online (Sandbox Code Playgroud)

它包含在我的composer.json:

{
    "require": {
        "laravel/envoy": "~1.0",
        "laravel/installer": "^1.3",
        "intervention/image": "^2.3"
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经安装了php-gd的东西,包括在内

Intervention\Image\ImageServiceProvider::class
Run Code Online (Sandbox Code Playgroud)

'Image' => Intervention\Image\Facades\Image::class
Run Code Online (Sandbox Code Playgroud)

在我config\app.php,但我一直收到恼人的错误信息.也许值得一提的是我使用的是Linux Mint操作系统,并且我正在使用Homestead虚拟机.是的,我在Homestead版本的Composer中包含了这些东西,而不是我的主要PC作曲家.使用时

PHP artisan --version
Run Code Online (Sandbox Code Playgroud)

,它返回:

Laravel Framework version 5.2.43
Run Code Online (Sandbox Code Playgroud)

我在虚拟机上运行了作曲家更新,没有解决问题.我尝试删除行app.php,运行composer update,再次添加行并运行composer update,不起作用.

我在config\app.php哪里夹杂物是否重要?现在,别名位于列表中,提供程序位于Package Service Providers下.

这是完整的错误消息:

Whoops, looks like something went wrong.

1/1
FatalThrowableError in ProviderRepository.php line 146:
Class 'Intervention\Image\ImageServiceProvider' not found
in ProviderRepository.php line 146
at ProviderRepository->createProvider('Intervention\Image\ImageServiceProvider') in ProviderRepository.php line 114
at ProviderRepository->compileManifest(array('Illuminate\Auth\AuthServiceProvider', 'Illuminate\Broadcasting\BroadcastServiceProvider', 'Illuminate\Bus\BusServiceProvider', 'Illuminate\Cache\CacheServiceProvider', 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider', …
Run Code Online (Sandbox Code Playgroud)

laravel homestead intervention laravel-5.2

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

Php工匠迁移失败了Laravel

我有以下错误.有人理解为什么?

php工匠迁移

 SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key 
was too long; max key length is 767 bytes (SQL: alter table `users` 
add unique `users_email_unique`(`email`))
Run Code Online (Sandbox Code Playgroud)

create_users_table.php

Schema::create('users', function (Blueprint $table) {
    $table->increments('id');
    $table->string('name',255);
    $table->string('email',255)->unique();
    $table->string('password',255);
    $table->rememberToken();
    $table->timestamps();
});
Run Code Online (Sandbox Code Playgroud)

php laravel

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

在 Blazor 中本地化日期时间(和数字)

我正在基于最新的 Core 3.1 开发 Blazor 项目。

UI 文化正确显示日期和数字,如图所示。

但是当我使用 EditForm 时,数字和日期没有按照它应该的格式进行格式化。

所以这个 EditForm 的代码部分

<InputDate id="date" class="form-control" @bind-Value="@TaskObject.Date" />
Run Code Online (Sandbox Code Playgroud)

所以在 EditForm 中它看起来像这样,这不是正确的文化格式:

在此处输入图片说明

但是在 UI 中看起来像这样,这没关系:

在此处输入图片说明

当我刚接触 Blazor 时,我尝试在线阅读不同的内容以获取有关此问题的一些知识。

所以我厌倦了以下内容:

没有运气。

然后我尝试阅读此内容,发现内容不适用于 Core 3.1。

我的问题是,究竟应该怎么做才能使 EditForm 像 UI 一样显示日期和数字,为什么 EditForm 会发生这种情况?

localization asp.net-core blazor

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

如何集成测试Azure Blob存储?

我正在开发一个企业业务项目,需要将应用程序从本地迁移到 Azure 云。

某些应用程序需要 Azure Blob 存储。所有 Azure 云基础设施都可以使用 Manage Identity 进行访问,业务要求是在无法访问 Azure 门户的情况下测试和验证 Azure Blob 方法,开发人员只能访问任何非生产或生产的存储资源。也就是说,该公司要求我们在将代码推送到云之前通过在本地和 GitHub 工作流程上进行测试来使所有存储功能正常工作。

当然,我可以启动我的个人 Azure 帐户并使用它,但仍然会使用我的帐户作为游乐场进行测试,但并不是真正可用的测试。

通用测试 Azure Blob 存储的整个想法,无需对 Blob 存储有任何类型的访问权限。

这可能吗?我怎样才能实现这一目标?

以下是我针对 Azure Blob 的工作 POC 方法:

private readonly BlobContainerClient _blobContainerClient;

public AzureBlobStorage(string connectionString, string container)
{
    _blobContainerClient = new BlobContainerClient(connectionString, container);
    _blobContainerClient.CreateIfNotExists();
}

public async Task<string> ReadTextFile(string filename)
{
    var blob = _blobContainerClient.GetBlobClient(filename);
    if (!await _blobContainerClient.ExistsAsync()) return string.Empty;
    var reading = await blob.DownloadStreamingAsync();
    StreamReader reader = new StreamReader(reading.Value.Content);
    return await reader.ReadToEndAsync(); …
Run Code Online (Sandbox Code Playgroud)

.net c# azure azure-blob-storage

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

C# IEnumerable&lt;T&gt; 中的协变/逆变,其中 T 是泛型类型、接口与类

有人理解为什么类的泛型约束与接口不同吗?此代码无法编译:

public interface IInterface
{
}

public class Class<T> where T : IInterface
{
    public void Do()
    {
        IEnumerable<IInterface> ret = GetEnumerable();
    }

    public IEnumerable<T> GetEnumerable()
    {
        return new T[0];
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,通过将 IInterface 更改为类,突然可以编译

public class IInterface
{
}

public class Class<T> where T : IInterface
{
    public void Do()
    {
        IEnumerable<IInterface> ret = GetEnumerable();
    }

    public IEnumerable<T> GetEnumerable()
    {
        return new T[0];
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用:

IEnumerable<IInterface> ret = (IEnumerable<IInterface>)GetEnumerable();
Run Code Online (Sandbox Code Playgroud)

但我真的很想知道如果 IInterface 是接口,为什么需要强制转换。

c# generics interface covariance

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

java纯粹面向对象吗?

我们说java不是纯粹的面向对象,因为原始数据类型不是对象.但在下面的代码中,对象如何保存原始数据类型?

public class Test{

    public Object meth(Object obj){
        System.out.println(obj instanceof Object);//It prints true
        System.out.println("Value = "+obj);//It prints "Value = 1"
        return obj;
    }


    public static void main(String[] args) {
        int a = 1;
        System.out.println(new Test().meth(a));
    }
}
Run Code Online (Sandbox Code Playgroud)

java

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