자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
암호화를 위해서 libsodium을 가지고 비공개키, 공개키를 만들고 암호화하는 작업을 해보고 있습니다.

다행히 델파이 버전이 있어서 windows에서는 그걸 이용해서 암호화하는 것을 성공했습니다만 모바일앱에도 같은 암호화 방법을 쓰려고 하니 기존의 dll이 windows만 지원하고 있어서 사용을 못하더군요.

그래서 고민을 하다가 java jni 버전을 가지고 와서 jar 파일을 만들고 java2op를 가지고 브릿지 파일(Android.JNI.libsodium.pas)까지 만들어서 작동을 시켜봤습니다. 물론 필요한 uses들을 넣었고요.

코드는 아래와 같습니다. 

그런데 신기하게도 SECRETKEY_BYTES값은 받아오는데 randombytes와 같은 함수는 invoke error: method not found를 계속해서 뱉어내는데 해결을 못하고 있습니다. classes.dex 문제인듯 하기도 하고.... 진전이 없습니다.

제가 델파이 초보라 아는게 이 정도인데 도움 부탁 좀 드려도 될까요?

뭐가 잘 못된걸까요?

 

-- 아래 --

 

unit android_sodium;

 

interface

 

uses

  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,

  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects,

  Android.JNI.libsodium, Androidapi.Helpers, Androidapi.JNIBridge,

  Androidapi.JNI.JavaTypes, Androidapi.JNI.provider, FMX.helpers.Android,

  FMX.Controls.Presentation, FMX.StdCtrls;

 

type

  TForm1 = class(TForm)

    Button1: TButton;

    Text1: TText;

    Text2: TText;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.fmx}

 

 

procedure TForm1.Button1Click(Sender: TObject);

var

  sk: TJavaArray<byte>;

  SecByte: integer;

  Sodium : JSodium;

 

begin

//  TJSodium.JavaClass.init;

  SecByte := TJSodiumConstants.JavaClass.SECRETKEY_BYTES;

  Text1.Text := IntToStr(SecByte);

  sk := TJavaArray<byte>.Create(SecByte*2);

  Text2.Text := sk.Items[0].ToString;

 

// Test End

 

// Testing

  TJSodium.JavaClass.randombytes(sk, SecByte*2);

 

 

end;

 

end.

 
번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 17162
공지 유용한 관련 사이트 관리자2 2014.03.20 56028
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99463
1173 ios 컴파일시 [Error] No provisioning profile found for the selected build configuration kerry 2016.07.09 158
1172 급함 ios 컴파일 완료 후 맥에서 Application Loader 로 전송화면 다음과 같은 화면이 나옵니다. file kerry 2016.07.11 176
1171 64bit 개발환경 문의 [1] 조은놈 2016.07.12 159
1170 XE8 OS 32bit에서는 FireDAC CreateDB가 잘 되는데 64bit로 빌더를 바꿔서 하면 에라가 발생? 바람돌이 2016.07.12 365
1169 git이 먹히지 않는데 어떻게 하나요? 나즈나 2016.07.12 117
1168 Classic bluetooth example을 기준으로 따라하고 있는데 다음과 같은 에러가 발생하네요. [1] file 험프리 2016.07.12 399
1167 xe10 시애틀 컴파일시 에러메세지 확인 부탁드립니다. kerry 2016.07.13 103
1166 Edit의 NumbersOnly 속성 True일때 나오는 에러메세지 수정가능한가요? syc 2016.07.13 210
1165 View as Text 에서 한글 질문!! syc 2016.07.13 190
1164 Delphi 10(10.1) MongoDB Driver => SCRAM-SHA-1 지원기능여부 문의드립니다. Terry 2016.07.14 205
1163 [베를린] 신규 프로젝트에서 버튼하나 놓고 휴대폰으로 배포하면 오류가 납니다. 델사냥 2016.07.14 236
1162 IOS 앱 제출시 ERROR ITMS-90530 [1] kerry 2016.07.15 250
1161 델파이 10.1로 이전버젼의 paradox로 만든 DB접속과 처리가 가능한가요? [1] 드레곤 2016.07.15 232
1160 유투브에 올라온 인형만들기 연습중 알게되었습니다. 쭈니아빠 2016.07.16 111
1159 음원파일 편집 기능 [1] 민수사랑 2016.07.18 513
1158 Delphi 10.1 Berlin 멀티폼 옵션 문의의 건 [1] 아범님 2016.07.18 145
1157 CLOB 처리시 ORA-24812 오류 문제 [1] 승민 2016.07.19 508
1156 [질문] RLINK32: Out of memory 에러가 납니다 Xiong 2016.07.22 545
1155 linux 용 delphi UI 를 만들고 싶어요 [1] 브래이브 2016.07.22 260
1154 VCL Or FMX 컨포넌트중 HTML 에디터 컴포넌트가 있나요? [1] 황규섭 2016.07.22 558