رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


hamed1212

کاربر عادی
  • تعداد ارسال ها

    58
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    1

آخرین بار برد hamed1212 در 1 آبان

hamed1212 یکی از رکورد داران بیشترین تعداد پسند مطالب است !

اعتبار در سایت

19 خوب

درباره hamed1212

  • درجه
    کاربر سایت
  • تاریخ تولد 19 آبان 1376

آخرین بازدید کنندگان نمایه

بلوک آخرین بازدید کننده ها غیر فعال شده است و به دیگر کاربران نشان داده نمیشود.

  1. آقا زحمت نکشید حل شد باید موقع انشیالیز کردن استریم در بیسیک از مد prefix استفاده کنم stream.InitializePrefix(NewSocket.InputStream,True,NewSocket.OutputStream,"stream") و اینکه موقع ارسال در اندروید استودیو سایز کل رو هم قبلش ارسال کنم اینجوری: dos!!.writeInt(out.size) dos!!.write(out,0,out.size) dos!!.flush()
  2. سلام خسته نباشید من میخواستم یه عکس رو از طریق سوکت tcp از اندروید استودیو به basic4android و basic4java ارسال کنم... کدهای ارسال رو از اندروید استودیو نوشتم و درست کار میکنه و درون بسیک هم برای دریافت درست کار میکنه ولی یه مشکلی که دارم اینه که اندروید استودیو فایل ارسالی رو به چندتا بخش که هر دفعه تعداد بخش ها فرق میکنه تقسیم میکنه و تو چند مرحله ارسال میکنه.. الان مشکلم همینجاست که تو چند مرحله ارسال میکنه و توی بسیک چجوری باید این بخش هارو بگیرم که تا اخر فایل رو دریافت کنم ؟ و اینکه هر جوری هم از اندروید استودیو ارسال میکنم توی این رویداد دریافت میشه : Sub stream_NewData (Buffer() As Byte) End Sub راهی هم هست که موقع ارسال از طریق اندروید استودیو ، توی بسیک از طریق این رویداد دریافت بشه ؟ Sub stream_NewStream (Dir As String, FileName As String) End Sub اینم کدهای ارسال در اندروید استودیو هست: import android.os.Handler import java.io.* import java.net.Socket import java.net.UnknownHostException class clientThread:Thread() { private var ip1:String="" private var port1:Int=5 private lateinit var handler: Handler var writer : PrintWriter? = null var dos:DataOutputStream?=null override fun run() { super.run() try { val socket = Socket(ip1, port1) if (socket.isConnected){ handler.sendMessage(handler.obtainMessage(0, "connected")) Thread { val output = socket?.getOutputStream() dos=DataOutputStream(output) writer = PrintWriter(output!!, true) val input = socket?.getInputStream() val buffer=ByteArray(1024) val res=ByteArrayOutputStream(1024) try { while(true){ val read = input.read(buffer) if (read == -1) { break } res.write(buffer, 0, read) handler.sendMessage( handler.obtainMessage( 0, socket.isConnected.toString() + res.toString("UTF-8") ) ) } } catch (e: IOException) { System.out.println(e) socket.close() input.close() writer?.close() } }.start() } } catch(u: UnknownHostException) { System.out.println(u) } catch(i:IOException) { System.out.println(i) } } fun setHandler(handler: Handler) { this.handler = handler } fun config(ip:String,port:Int){ ip1=ip port1=port } fun sendMessage(out:ByteArray) { dos!!.write(out) dos!!.flush() } override fun destroy() { } }
  3. $sec = 10; اینو فک کنم عددش تغییر بدین جلو عقب میگیره دیگه
  4. آقا حل شد اون کد جاوایی که من استفاده میکردم برای b4a بود که من داشتم داخل b4j میزدم.. کد جاوای b4j برای این کار اینه که به صورت جاوا آبجکت داخل بیسیک استفاده میشه میزارم شاید بدردتون بخوره: #If java import org.bouncycastle.crypto.PBEParametersGenerator; import org.bouncycastle.crypto.digests.SHA1Digest; import org.bouncycastle.crypto.engines.AESEngine; import org.bouncycastle.crypto.generators.PKCS12ParametersGenerator; import org.bouncycastle.crypto.modes.CBCBlockCipher; import org.bouncycastle.crypto.paddings.PKCS7Padding; import org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher; import org.bouncycastle.crypto.params.ParametersWithIV; private static final String KEYGEN_ALGORITHM = "PBEWITHSHAAND256BITAES-CBC-BC"; private static final String CIPHER_ALGORITHM = "AES/CBC/PKCS5Padding"; private static final byte[] SALT = { 12, 54, 23, 45, 23, 52, 12 }; private static final byte[] IV = { 116, 13, 72, -50, 77, 45, -3, -72, -117, 32, 23, 19, 72, 21, 111, 22 }; public static byte[] encrypt(String password,byte[] data) throws Exception { PKCS12ParametersGenerator pGen = new PKCS12ParametersGenerator(new SHA1Digest()); char[] passwordChars = password.toCharArray(); byte[] pkcs12PasswordBytes = PBEParametersGenerator.PKCS12PasswordToBytes(passwordChars); pGen.init(pkcs12PasswordBytes, SALT, 1024); CBCBlockCipher aesCBC = new CBCBlockCipher(new AESEngine()); ParametersWithIV aesCBCParams = new ParametersWithIV(pGen.generateDerivedParameters(256), IV); aesCBC.init(true, aesCBCParams); PaddedBufferedBlockCipher aesCipher = new PaddedBufferedBlockCipher(aesCBC, new PKCS7Padding()); aesCipher.init(true, pGen.generateDerivedParameters(256)); byte[] plainTemp = new byte[aesCipher.getOutputSize(data.length)]; int offset = aesCipher.processBytes(data, 0, data.length, plainTemp, 0); int last = aesCipher.doFinal(plainTemp, offset); byte[] plain = new byte[offset + last]; System.arraycopy(plainTemp, 0, plain, 0, plain.length); return plain; } public static byte[] decrypt(String password, byte[] data) throws Exception { PKCS12ParametersGenerator pGen = new PKCS12ParametersGenerator(new SHA1Digest()); char[] passwordChars = password.toCharArray(); byte[] pkcs12PasswordBytes = PBEParametersGenerator.PKCS12PasswordToBytes(passwordChars); pGen.init(pkcs12PasswordBytes, SALT, 1024); CBCBlockCipher aesCBC = new CBCBlockCipher(new AESEngine()); ParametersWithIV aesCBCParams = new ParametersWithIV(pGen.generateDerivedParameters(256), IV); aesCBC.init(false, aesCBCParams); PaddedBufferedBlockCipher aesCipher = new PaddedBufferedBlockCipher(aesCBC, new PKCS7Padding()); byte[] plainTemp = new byte[aesCipher.getOutputSize(data.length)]; int offset = aesCipher.processBytes(data, 0, data.length, plainTemp, 0); int last = aesCipher.doFinal(plainTemp, offset); byte[] plain = new byte[offset + last]; System.arraycopy(plainTemp, 0, plain, 0, plain.length); return plain; } #End If فقط برای استفاده از این کد این خط رو هم به بیسیک اضافه کنید: #AdditionalJar: bcprov-jdk15on-159 bcprov-jdk15on-159.jar باید دانلود بشه و داخل پوشه کتابخونه ریخته بشه
  5. import java.security.spec.KeySpec; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.SecretKeySpec; public class encrypter { private static final byte[] SALT = { 12, 54, 23, 45, 23, 52, 12 }; private static final byte[] IV = { 116, 13, 72, -50, 77, 45, -3, -72, -117, 32, 23, 19, 72, 21, 111, 22 }; public static byte[] decrypt(String password, byte[] data) throws Exception { SecretKeyFactory factory = SecretKeyFactory.getInstance("PBEWITHSHAAND256BITAES-CBC-BC"); KeySpec keySpec = new PBEKeySpec(password.toCharArray(), SALT, 1024, 256); SecretKey tmp = factory.generateSecret(keySpec); SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES"); Cipher d = Cipher.getInstance("AES/CBC/PKCS5Padding"); d.init(2, secret, new IvParameterSpec(IV)); return d.doFinal(data); } public static byte[] encrypt(String password, byte[] data) throws Exception { SecretKeyFactory factory = SecretKeyFactory.getInstance("PBEWITHSHAAND256BITAES-CBC-BC"); KeySpec keySpec = new PBEKeySpec(password.toCharArray(), SALT, 1024, 256); SecretKey tmp = factory.generateSecret(keySpec); SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES"); Cipher e = Cipher.getInstance("AES/CBC/PKCS5Padding"); e.init(1, secret, new IvParameterSpec(IV)); return e.doFinal(data); } } سلام.... ببخشید اقای شاهپیری من این کد رو از کتابخانه های بیسیک برداشتم و تو اندروید استودیو کاملا جواب میده عین همین استفاده کردم... ولی داخل بیسیک میخوام دوباره همینو استفاده کنم این ارور رو میده Caused by: java.security.NoSuchAlgorithmException: PBEWITHSHAAND256BITAES-CBC-BC SecretKeyFactory not available درضمن این فایلو هم اضافه کردم به بیسیک AdditionalJar: bcprov-jdk15on-159 میدونید مشکل از کجاس؟ داخل خود کتابخانه مربوطه بیسیک هم که دیکامپایل داشتم چیز خاصی نداشت همه ی ایمپورت هارو هم قرار دادم .. تعجم عینه که این کد تو اندروید استودیو خیلی عالی جواب داد ولی تو بیسیک که میزارم جواب نمیده .. توی بیسیک هم به این صورت میزارم و با جاوا ابجکت استفادش میکنم: #If java import java.security.spec.KeySpec; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.SecretKeySpec; private static final byte[] SALT = { 12, 54, 23, 45, 23, 52, 12 }; private static final byte[] IV = { 116, 13, 72, -50, 77, 45, -3, -72, -117, 32, 23, 19, 72, 21, 111, 22 }; public static byte[] decrypt(String password, byte[] data) throws Exception { SecretKeyFactory factory = SecretKeyFactory.getInstance("PBEWITHSHAAND256BITAES-CBC-BC"); KeySpec keySpec = new PBEKeySpec(password.toCharArray(), SALT, 1024, 256); SecretKey tmp = factory.generateSecret(keySpec); SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES"); Cipher d = Cipher.getInstance("AES/CBC/PKCS5Padding"); d.init(2, secret, new IvParameterSpec(IV)); return d.doFinal(data); } public static byte[] encrypt(String password, byte[] data) throws Exception { SecretKeyFactory factory = SecretKeyFactory.getInstance("PBEWITHSHAAND256BITAES-CBC-BC"); KeySpec keySpec = new PBEKeySpec(password.toCharArray(), SALT, 1024, 256); SecretKey tmp = factory.generateSecret(keySpec); SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES"); Cipher e = Cipher.getInstance("AES/CBC/PKCS5Padding"); e.init(1, secret, new IvParameterSpec(IV)); return e.doFinal(data); } #End If اگه میشه یه راهنمایی کنید از صبح تالا دور اینم اوکی نشده هنوز... من اماده خور نیستم که از کتابخونه های اماده استفاده کنم میخوام یه چیزی هم یاد بگیرم اگه کمک کنین ممنون میشم
  6. ممنون از این استفاده کردم #If java import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; public static byte[] generateKey(String password) throws Exception { byte[] keyStart = password.getBytes("UTF-8"); KeyGenerator kgen = KeyGenerator.getInstance("AES"); SecureRandom sr = SecureRandom.getInstance("SHA1PRNG"); sr.setSeed(keyStart); kgen.init(128, sr); SecretKey skey = kgen.generateKey(); return skey.getEncoded(); } public static byte[] encodeFile(byte[] key, byte[] fileData) throws Exception { SecretKeySpec skeySpec = new SecretKeySpec(key, "AES"); Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.ENCRYPT_MODE, skeySpec); byte[] encrypted = cipher.doFinal(fileData); return encrypted; } public static byte[] decodeFile(byte[] key, byte[] fileData) throws Exception { SecretKeySpec skeySpec = new SecretKeySpec(key, "AES"); Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.DECRYPT_MODE, skeySpec); byte[] decrypted = cipher.doFinal(fileData); return decrypted; } #End If
  7. سلام خسته نباشید.. از دوستان برنامه نویس اندروید استودیو کسی قطعه کدی داره که بتونم مثلا تو اندروید استودیو یه چیزیو اینکریپت کنم بعدش توی بیسیک 4 اندروید یا بیسیک 4 جاوا بتونم اونو دیکریپت کنم ؟ یا برعکس؟
  8. hamed1212

    کتابخانه irSocket.io

    سلام اقای مهدی نژاد ... میگم جدا از این بیسیک کلا میشه تو اندروید با استفاده از socket io فایل فرستاد؟ تا حدی میشه فایلو به base64 تبدیل کرد و فرستاد و اونور تبدیلش کرد دوباره ... ولی برا فایلای بزرگ چی؟ درون خود node js میشه از socket.io-stream استفاده کرد ولی توی اندروید هرچی گشتم مثالی در این باره نیس یه جا خوندم فقط که این کتابخونه فقط برای همون node js هست و توی اندروید فعلا نیس و باید برای فرستادن فایلای بزرگ اونو با کتابخانه ی های http اول پست کنم بعد لینک دانلودو ارسال کنم ... ایا این راه درستیه؟ راهی نیس بشه فایلای بزگ هم مستقیم با همون node js بفرستم ؟
  9. سلام...یه توضیح مختصری میدم که بیاد تو دستت چقدر دنگ و فنگ داره!!!!! اون چیزی که توی نظر منه اینه برای سایت سازنده برنامه اندروید: یه بیلدر برنامه با استفاده از ریسورس ها و ابزار های آماده مثل apktool بسازی(این ابزار هم میتونه دیکامپایل کنه و هم کامپایل کنه و هم بنظرم ساین کنه) و به وسیله ی اون برنامه ای که مخوای هر بار ساخته بشه رو دیکامپایلش کنی (من با برنامه b4j یه بیلدر ساختم نگو نمیشه)(مهم نیس از چه محیط برنامه نویسی برای برنامه ساختن استفاده کنی ولی بهتره پایتون باشه یا همونی b4j) حالا با این برنامه هر بار بیای اسم ایکن و .... رو جایگزین کنی توی فایلای دیکامپایل شده ی اون برنامه و دوباره اونو اول کامپایل کنی و بعدش اونو ساین کنی. خب اینجا تقریبا بیلدر تموم شده حالا با استفاده از همون بیلدر بیای یه سایت رو بالا بیاری!!!
  10. سلاااااااااام خسته نباشید اینقدر جواب سوالای منو نمیدین که خودم اخر حلش میکنم خخخ یه سوال داشتم من یه سرویس میسازم توی اندروید استودیو ولی تا موقعی که برنامه باز هست کار میکنه وقتی میبندمش دیگه کار نمیکنه چجوری میتونم این سرویس رو بسازم که مثل basic4android یه startserviceAt داشته باشه که بگم هر ده ثانیه مثلا سرویس رو دوباره اجرا کن، خیلی نیاز دارم میشه جواب بده یه نفر؟ ممنون میشم
  11. مشکل با فراخوانی تابع در اکتیویتی مورنظر حل شد کسی این مشکلو داشت بگه راهنماییش میکنم
  12. سلام.... من با زبان کتلین تو اندروید استودیو کار میکنم و با استفاده از کتابخانه volley یه درخواست post رو ارسال میکنم و response اون درخواست هم دریافت میکنم و مشکلی ندارم... من اومدم یه ماژول کلاس کاتلین ساختم و و تابع request رو تو اون کلاس قرار دادم.. حالا داخل اکتیویتی هم اون کلاس رو فراخوانی میکنم و اجرا میکنم تا اینجا مشکلی ندارم.. الان مشکلم اینه که چجوری میتونم مقدار دریافتی از response رو که توی کلاس دریافتش میکنم به اکتیویتی برگردونم؟؟؟؟ چون یه جورایی نمیشه داخل ثسمت response از return استفاده کرد.. فک کنم باید از callback یا همون interface استفاده کنم ولی اصلا هرکار میکنم بلد نمیشم که انجامش بدم میشه یه راهنمایی کنین ؟ ممنون
  13. ممنونم ازتون اقای شاهپیری و بقیه دوستان کا جاوا کار میکنن بنظرتون جاوا رو کار کنم یا کاتلین ؟
  14. سلام.. من تازه همین امروز شروع کردم اندروید استدیو یاد بگیرم اقا یه مشکلی دارم یه دکمه که میزارم توی لیوت مثلا وقتی اونو میارم سمت چپ صفحه لیوت، بعداز خروجی گرفتن روی گوشی رفته سمت راست!!!! یا میارم سمت راست بعدش رفته سمت چپ... اما باری بالا و پایینش مشکلی نیست اوکی هست.. میشه یه راهنمایی کنین؟ توی انواع لیوت ها هم این اتفاق میفته مثل relative layout و linear layout و constraint layout
  15. hamed1212

    لاگین اینستاگرام

    مشتی اگه میخوای فقط همین تایید کنه یوزر یا پسورد درسته میشه با ارسال post و تنظیم کوکی و هدر اینکارو کرد من تو پایتون نمونشو دارم تو بیسیک هم همونجوریه دیگه
×
×
  • جدید...